- •Часть I. Хранение данных в таблицах 34
- •Глава 1. Создание вашей первой базы данных 35
- •Глава 2. Создание более сложных таблиц 66
- •Глава 3. Обработка листа данных: сортировка, поиск,
- •Глава 4. Блокировка неправильных данных 136
- •Глава 5. Связывание таблиц с помощью отношений 168
- •Часть II. Обработка данных с помощью запросов 206
- •Глава 6. Запросы, выбирающие записи 207
- •Глава 7. Основные хитрости, применяемые в запросах 241
- •Глава 8. Запросы, обновляющие записи ..272
- •Глава 9. Анализ данных с помощью перекрестных запросов и
- •Часть III. Отчеты 323
- •Глава 10. Создание отчетов 324
- •Глава 11. Проектирование сложных отчетов 356
- •Часть IV. Разработка пользовательского интерфейса
- •Глава 12. Создание простых форм 392
- •Глава 13. Проектирование сложных форм 426
- •Глава 14. Создание системы переходов 465
- •Часть V. Программирование в access 496
- •Глава 15. Автоматизация задач с помощью макросов 497
- •Глава 16. Автоматизация выполнения задач средствами языка
- •Глава 17. Написание кода с более развитой логикой 571
- •Часть VI. Совместное использование access 615
- •Глава 18. Совместное использование бд несколькими пользователями 616
- •Глава 19. Импорт и экспорт данных 650
- •Глава 20. Подключение Access к sql Server 692
- •Глава 21. Подключение Access к SharePoint 724
- •На профессиональном уровне. Преимущества хорошо спроектированной базы данных
- •Для тех, кто понимает. Когда программы Access недостаточно
- •Уголок ностальгии. Зачем опять изобретать колесо?
- •Уголок ностальгии. Сочетания клавиш в Access 2003
- •Часть I
- •Часто задаваемый вопрос. Использование чужой бд
- •На профессиональном уровне. Шаблоны, подходящие для разных целей
- •На профессиональном уровне. Работа Access в интерактивном режиме
- •Для тех, кто понимает. Использование Access бд, созданных в более ранних версиях программы
- •На профессиональном уровне. Проектирование бд для начинающих
- •На профессиональном уровне. Вставка больших значений в узкие столбцы
- •Для тех. Кто понимает. Если сомневаетесь, не удаляйте
- •Малоизвестная или недооцененная возможность. Копирование записи целиком за один шаг
- •Малоизвестная или недооцененная возможность. Сжатие бд
- •Часто задаваемый вопрос. У какого файла расширение laccdb?
- •Практические занятия для опытных пользователей. Изменение папки, которую Access использует для хранения бд
- •Малоизвестная или недооцененная возможность. Сворачивание ленты
- •Экономящая время подсказка. Создание ярлыка для таблицы
- •Глава 2
- •Для тех, кто понимает. Изменение типа данных может привести к потере информации
- •На профессиональном уровне. Нормативы максимальной длины
- •На профессиональном уровне. Как Access предотвращает дублирование записей
- •На профессиональном уровне. Почему так важна уникальность
- •Глава 3
- •Малоизвестная или недооцененная возможность. Настройка всех листов данных
- •На профессиональном уровне. Числа и специальные символы в текстовых полях
- •Практические занятия для опытных пользователей. Фильтры в противоположность запросам
- •Малоизвестная или недооцененная возможность. Поиск и замена
- •Глава 4
- •Для тех, кто понимает. Не требуйте слишком многого
- •На профессиональном уровне. Как работают индексы
- •Часто задаваемый вопрос. Индексы и производительность
- •Практические занятия для опытных пользователей. Вставка вашей маски в список масок программы
- •На профессиональном уровне. Создание списка подстановки, использующего другую таблицу
- •Глава 5
- •Часто задаваемый вопрос. Отключение обеспечения целостности данных
- •Для тех, кто понимает. Пользуйтесь каскадным удалением с осторожностью
- •Практические занятия для опытных пользователей. Изменение параметров подтаблицы
- •Часто задаваемый вопрос. Обновление списка
- •Для тех, кто понимает. Применяйте связи "один-к-одному" с осторожностью
- •Часто задаваемый вопрос. Работа со связями "многие-ко-многим"
- •Часто задаваемый вопрос. Печать ваших отношений
- •Часть II
- •Для тех, кто понимает. Не бойтесь подстановок
- •На профессиональном уровне. Синтаксис фильтра
- •Практические занятия для опытных пользователей. Как индексы ускоряют поиск
- •Малоизвестная или недооцененная возможность. Запросы на базе запросов
- •Для тех, кто понимает. Подумайте дважды, прежде чем изменять структуру таблиц
- •На профессиональном уровне. Сравнение: отношения и объединения
- •На профессиональном уровне. Изменение данных при использовании запроса с объединением
- •Глава 7
- •На профессиональном уровне. Синхронизация запросов
- •Малоизвестная или недооцененная возможность. Переименование поля в запросе
- •Часто задаваемый вопрос Банковское округление
- •Практические занятия для опытных пользователей. Улучшенные числовые форматы
- •Малоизвестная или недооцененная возможность. Использование случайных чисел для сортировки в случайном порядке
- •Практические занятия для опытных пользователей. Как извлечь первое слово из текстовой строки
- •Для тех, кто понимает. Вычисления для дат и времени
- •Глава 8
- •Аварийная ситуация. Когда Access блокирует ваше обновление
- •Малоизвестная или недооцененная возможность. Скрытие запроса
- •Глава 9
- •Часто задаваемый вопрос. Итоговый проигрыш; итоговый запрос против перекрестного
- •Для тех, кто понимает. Создание запроса с объединением для лучшей группировки
- •На профессиональном уровне. Правильный выбор групп
- •Малоизвестная или недооцененная возможность. Помещение сводных таблиц в их собственные формы
- •Часть III
- •Глава 10. Создание отчетов
- •Глава 11. Проектирование сложных отчетов
- •Глава 10
- •На профессиональном уровне. Выполнение тяжелой работы с помощью запроса
- •Часто задаваемый вопрос. Добавление изображений в отчеты.
- •На профессиональном уровне. Учитесь любить pdf-файлы
- •Часто задаваемый вопрос. Разные способы экспорта данных
- •Малоизвестная или недооцененная возможность. Формат по образцу.
- •Практические занятия для опытных пользователей. Разные линии сетки
- •Глава 11
- •Часто задаваемый вопрос. Ошибки выражений
- •Часть IV
- •На профессиональном уровне. Поля типа Счетчик в формах
- •На профессиональном уровне. Разные люди — разные формы
- •Малоизвестная или, недооцененная возможность. Вывод на экран изображений из бд
- •На профессиональном уровне. Семейство форм Access
- •Глава 13
- •На профессиональном уровне. Присоединенные элементы управления
- •Малоизвестная или недооцененная возможность. Повторное применение ваших любимых настроек стиля границ
- •Часто задаваемые вопросы. Осовременивание элементов управления Windows
- •Практические занятия для опытных пользователей. Как освободиться от привязки к сетке
- •На профессиональном уровне. Насколько велик ваш экран?
- •Глава 14
- •Малоизвестная или недооцененная возможность. Варианты сортировки и просмотра в области переходов
- •На профессиональном уровне. Кнопочные формы с несколькими страницами
- •За кадром. Меню кнопочных форм сохраняются в бд
- •Часть V
- •На профессиональном уровне. Макросы по сравнению с программным кодом
- •Практические занятия для опытных пользователей. Обработка ошибок макроса
- •На профессиональном уровне. Макрокоманды, которым Access не доверяет
- •На профессиональном уровне. ОтправитьОбъект работает с вашей программой элекронной почты
- •Часто задаваемый вопрос. Внедренный макрос
- •Глава 16
- •Малоизвестная или недооцененная возможность. Справка по Visual Basic
- •Для тех кто понимает. Как код связывается с событиями
- •Малоизвестная или недооцененная возможность Разбиение длинных строк кода
- •На профессиональном уровне. Взаимодействие с другими формами
- •Практические занятия для опытных пользователей. Получение нужного цвета
- •Часто задаваемый вопрос. Ленточные формы и неприсоединенные элементы управления
- •Практические занятия для опытных пользователей. Связывание записей с рисунками
- •Глава 17
- •Практические занятия для опятных пользователей. Применение более сложных переменных
- •Практические занятия для опытных пользователей. Применение пользовательских функций в запросах
- •На профессиональном уровне. Алгоритм Луна (Luhn Algorithm)
- •Часто задаваемый вопрос. Запуск других Windows-программ
- •На профессиональном уровне. Станьте знатоком статистических функции по подмножеству
- •Уголок ностальгии. Dао против аdо
- •Часть VI
- •Для тех, кто понимает. Поиск места в сети для вашей бд
- •На профессиональном уровне Указание местонахождения в сети
- •Часто задаваемый вопрос. Как поведут себя старые версии Aсcess?
- •Аварийная ситуация. Мистическая ошибка “Файл уже используется”
- •Часто задаваемый вопрос. Когда не следует пользоваться форматом accde
- •Уголок ностальгии. Отмирание страниц доступа к данным
- •Практические занятия для опытных пользователей. Разделение таблиц для более безопасных корректировок
- •Уголок ностальгии. Защита с помощью рабочих групп упразднена
- •Глава 19
- •На профессиональном уровне. Sql Server и SharePoint: два частных случая
- •Сберегающая время подсказка. Копирование из одной бд в другую
- •На профессиональном уровне. Опасность дубликатов
- •Малоизвестная или недооцененная возможность. Экспорт отчетов
- •На профессиональном уровне. Более внимательный взгляд на теги
- •Глава 20
- •На профессиональном уровне. Важнейшие причины перехода на sql Server
- •Часто задаваемые вопрос. Можно ли доверять корпорации Microsoft?
- •На профессиональном уровне. Проекты Access по сравнению со связанными таблицами
- •0 Запросах
- •Для тех, кто понимает. Синтаксические различия
- •Глава 21
- •Часто задаваемый вопрос. Путаница, связанная с SharePoint
- •На профессиональном уровне. Установка SharePoint
- •На профессиональном уровне. Пять интересных инструментов программы SharePoint, которые стоит опробовать
- •Малоизвестная или недооцененная возможность.
- •Малоизвестная или недооцененная возможность. Представление таблицы данных Access
- •Малоизвестная или недооцененная возможность. Параметры списков SharePoint
Для тех. Кто понимает. Если сомневаетесь, не удаляйте
Наиболее опытные проектировщики редко удаляют записи из своих БД. Каждая капля информации важна.
Представьте себе, что у вас есть БД с перечислением товаров, которые продает по почте компания, изготовляющая оригами. Возможно, вы считаете, что имеет смысл удалить товары после того, как они сняты с производства и больше не могут быть заказаны. Но выясняется, что стоит хранить эти записи о старых товарах под рукой. Например, вам может понадобиться определить, какие категории товаров лучше всего продавались в прошлом году. Или производитель выпускает распоряжение об изъятии бумаги с добавлением асбеста и вам нужно найти всех, кто ее заказывал. Для выполнения любой из этих задач вам следует сохранять записи о ваших товарах. Это правило о сохранении всевозможной информации применимо ко всем видам БД. Допустим, что вы отслеживаете прием студентов в кулинарную академию высшей категории.
Если группа закончила курс обучения, вы не можете просто удалить запись о группе. Вам могут понадобиться сведения о том, есть ли у студента необходимая подготовка для другого курса, у каких преподавателей он учился и т. д.
Это же справедливо и для сотрудников, которые уволены или переведены на более высокую должность, проданных вещей, которые принадлежали вам ранее, и т. д. Все эти сведения вам нужны (и, возможно, их следует хранить вечно).
В большинстве случаев вы вставляете в свою таблицу дополнительные поля, помогающие отделить старые данные от новых. Например, в таблице Products (изделия) можно создать поле Discontinued (снятые с производства), обозначающее изделия, которых больше нет в наличии. Позже, создавая форму размещения заказов, вы сможете не учитывать эти изделия.
Режим редактирования
Возможно, вы проведете много времени, работая с листом данных. Итак, начнем. Знание некоторых деталей сможет облегчить вам жизнь.
Как вы уже знаете, перемещаться от поля к полю и от строки к строке можно с помощью клавиш со стрелками. Но при редактировании значения могут возникнуть некоторые трудности. Как только вы начнете набирать информацию, программа Access сотрет имеющиеся данные. Для изменения поведения программы следует перейти в режим редактирования, нажав клавишу <F2>. В режиме редактирования ваш набор не уничтожает уже имеющуюся в поле информацию. Вместо этого вы можете изменять ее или добавлять новые данные. Для выхода из режима редактирования снова нажмите клавишу <F2>. На рис. 1.10 крупным планом показана разница режимов.
Рис. 1.10. Вверху: обычный режим. Если вы сейчас начнете ввод данных, вы тут же сотрете существующий текст ("Hobergarten"). Суть в том, что текст в выбранном поле - это важная информация, которую вы намереваетесь удалить. Внизу: режим редактирования.
Курсор указывает текущую позицию в выбранном поле. Если сейчас начать набор, текст вставится между "Hober" и "garten".
Подсказка
Входить в режим редактирования и выходить из него можно также двойным щелчком кнопкой мыши в ячейке таблицы.
Режим редактирования также влияет на поведение клавиш со стрелками. В этом режиме они перемещают курсор в текущем поле. Например, для перехода в соседнюю ячейку вам придется в любом случае переместить курсор к концу текущего текста и затем снова нажать клавишу со стрелкой вправо (<→>). А в обычном режиме клавиши со стрелками всегда перемещают вас от ячейки к ячейке.
Комбинации клавиш
Опытные пользователи знают, что самый быстрый способ выполнения команды — использование замысловатых комбинаций клавиш, таких как <Ctrl>+<Alt>+<Shift>+<*>. Такие сочетания не всегда легко запомнить, но вам поможет пара приведенных далее таблиц. В табл. 1.1 перечислены некоторые клавиши, помогающие быстро перемещаться по листу данных.
Таблица 1.1. Клавиши для перемещения по листу данных
Клавиша |
Действие |
<Таb> (или <Enter>) |
Перемещает курсор на одно поле вправо или вниз при достижении конца таблицы. Эта клавиша также отключает режим редактирования, если он был включен |
<Shift>+<Tab> |
Перемещает курсор на одно поле влево или вверх при достижении конца таблицы. Это сочетание клавиш также отключает режим редактирования |
<→> |
Перемещает курсор на одно поле вправо (в обычном режиме) или вниз при достижении конца таблицы, В режиме редактирования эта клавиша перемещает курсор вдоль текста в текущем поле |
<←> |
Перемещает курсор на одно поле влево (в обычном режиме) или вверх при достижении конца таблицы. В режиме редактирования эта клавиша перемещает курсор вдоль текста в текущем поле |
<↑> |
Перемещает курсор вверх на одну строку (пока вы не достигли начала таблицы). Эта клавиша также отключает режим редактирования |
<↓> |
Перемещает курсор вниз на одну строку (или в позицию "новой строки", если вы достигли конца таблицы). Эта клавиша также отключает режим редактирования (Edit) |
<Home> |
Перемещает курсор в первое поле текущей строки. Эта клавиша перемещает курсор к началу текущего поля, если вы находитесь в режиме редактирования |
<End> |
Перемещает курсор в последнее поле текущей строки. Эта клавиша перемещает курсор к концу текущего поля, если вы находитесь в режиме редактирования |
<Page Down> |
Перемещает курсор вниз на один полный экран (предполагается, что у вас большая таблица данных, которая не помещается целиком в окне программы Access). Эта клавиша также отключает режим редактирования |
Таблица 1.1 (окончание)
Клавиша |
Действие |
<Page Up> |
Перемещает курсор вверх на один полный экран. Эта клавиша также отключает режим редактирования |
<Ctrl>+<Home> |
Перемещает курсор в первое поле первой строки. Это сочетание клавиш не делает ничего, если вы находитесь в режиме редактирования |
<Ctrl>+<End> |
Перемещает курсор в последнее поле последней строки. Это сочетание клавиш не делает ничего, если вы находитесь в режиме редактирования |
Рис. 1.11. Пользователь программы Access побывал на торгах Web-сайта eBay и ему нужно
сразу добавить несколько кукол. С помощью одновременного нажатия сочетания клавиш <Ctrl>+<">
дату покупки из предыдущей записи можно вставить в текущее поле
В табл. 1.2 перечислены клавиши, облегчающие редактирование записей.
Таблица 1.2. Клавиши для редактирования записей
Клавиша |
Результат |
<Esc> |
Отменяет любые изменения, произведенные вами в текущем поле. Эта клавиша действует только в режиме редактирования. После перехода в следующую ячейку изменения вносятся в запись. (Для дополнительного управления отменой изменений попробуйте команду Отменить (Undo), описанную далее.) |
<Ctrl>+<Z> |
Отменяет последнее изменение. К сожалению, команда Отменить в программе Access гораздо слабее одноименной команды в других программах пакета Office. Например, Access разрешает отменить только одно изменение, и если вы закроете лист данных, то даже этого не сможете сделать. Вы можете воспользоваться командой Отменить для уничтожения новой записи только сразу после ее вставки, но не сможете с помощью этой команды отменить операцию удаления |
<Ctrb+<"> |
Копирует значение из поля, находящегося непосредственно над текущим. Этот прием полезен, если нужно ввести группу записей с похожей информацией. На рис. 1.11 показан этот часто игнорируемый прием в действии |
Таблица 1.2 (окончание)
Клавиша |
Результат |
<Ctrl>+<;> |
Вставляет текущую дату в текущее поле. Формат даты зависит от настроек компьютера, но, скорее всего, вы увидите нечто похожее на 24-12-2007. Вы узнаете больше о работе с датами в программе Access в разд. "Дата/время" главы 2 |
<Ctrl>+<Alt>+< Пробел> |
Вставляет в поле значение по умолчанию. Вы узнаете, как задавать значение по умолчанию, в разд. "Задание значений по умолчанию" главы 4 |
Вырезать, Копировать и Вставить
Access, как практически любая Windows-программа, позволяет вырезать порции данных из одного места и вставлять их в другое место. Этот трюк легко применять с помощью только трех комбинаций клавиш: <Ctrl>+<C> — Копировать, <Ctrl>+<X> — Вырезать (аналог команды Копировать, но исходное содержимое удаляется) и <Ctrl>+<V> — Вставить. Находясь в режиме редактирования, можно использовать эти клавиши для копирования любого выделенного фрагмента. Если вы в обычном режиме, операция копирования или вырезания захватывает все содержимое поля.