Помимо запросов на выборку, с помощью которых осуществляется только отбор необходимых данных, Access предоставляет возможность модифицировать данные с помощью запросов на обновление. При выполнении такого запроса результирующая таблица не формируется, поскольку его задачей является изменение данных в таблице, выбранной в качестве источника данных во время формирования запроса. Поэтому бланк запроса может содержать только поля, значения которых требуется обновить, и поля, по значениям которых отбираются записи для изменения в них данных.
После включения в бланк запроса полей выбранной таблицы выполняется команда Запрос ® Обновление, после чего в нижней части бланка строка Сортировка заменяется строкой Обновление. В эту строку в ячейку поля, значения которого необходимо изменить, вводится выражение. Например, в ячейку поля Зарплата будет введено выражение 1,5*[оклад] – 0,13*1,5*[оклад], из которого видно, что зарплата каждого сотрудника в 1,5 раза больше его оклада минус 13% вычетов. Наименования полей, значения которых будут использованы при вычислении введенного выражения, должны быть заключены в квадратные скобки.
С помощью запроса на обновление можно изменять данные не всех записей, а выборочно. Для этого в бланк запроса включаются поля, по значениям которых будет вестись отбор записей. Например, в таблице Сотрудник необходимо увеличить оклады на 25% только инженерам. С этой целью в ячейку столбца Оклад вводится выражение 1,25*[Оклад], а в ячейку, находящуюся в строке Условие на выборку и в столбце поля Должность, записывается критерий поиска инженер.
Иногда бывает затруднительно вводить с клавиатуры имена полей, используемых в выражениях, особенно если эти имена длинные. В этом случае целесообразно скопировать их в буфер обмена, предварительно выделив имена этих полей в строке Поле бланка запроса.
При запуске запроса на обновление (щелчок на кнопке Запуск ! ) или его открытии в окне базы данных Access предупредит, что будут обновлены значения такого-то количества записей.
Для просмотра результатов расчета после выполнения запроса необходимо в окне базы данных щелкнуть на значке объекта Таблицы, выделить имя таблицы (в данном случае таблицы Сотрудник) и открыть ее щелчком на кнопке Открыть.
Итоговые запросы позволяют выполнять вычисления (сумму, среднее значение и др.) по всем записям для какого-либо числового поля, определять количество записей. Итоговые запросы формируются, как и ранее рассмотренные виды запросов, с помощью бланка запроса по образцу. В нижнюю часть бланка запроса включаются поля, для которых рассчитываются итоговые значения, а также поля, по которым производится группировка записей. Например, необходимо определить для каждого подразделения (см. таблицу Сотрудник) количество сотрудников, занимающих определенную должность, а также сумму окладов и среднее значение зарплаты по каждой должности. Для этого в запрос включаются поля Подразделение и Должность, по которым группируются записи, а также поля Должность (т.е. в нижнюю часть бланка запроса это поле вставляется дважды), Оклад и Зарплата, чтобы подсчитать соответственно количество сотрудников, сумму окладов и среднюю зарплату для каждого наименования должности.
После включения требуемых полей в запрос необходимо щелкнуть на кнопке S (Групповые операции), расположенной на инструментальной панели, после чего появится строка Групповые операции. В каждой ячейке этой строки отобразится слово Группировка. Для полей Подразделение и Должность значение Группировка в строке Групповая операция должно быть оставлено. Щелчок на ячейках остальных полей со значением Группировка вызывает появление кнопки выбора данных из списка, из которого выбирается требуемая операция: для поля Должность – Count (количество), для поля Оклад – Sum (сумма), для поля Зарплата – Avg (среднее значение). Кроме указанных функций, также часто используются функции Max (максимальное значение) и Min (минимальное значение). Для полей Подразделение и Должность целесообразно включить сортировку по возрастанию.
Для внесения необходимых изменений в запрос любого вида его имя следует маркировать в окне базы данных и щелкнуть на кнопке Конструктор. На экране появляется бланк запроса, в который можно вносить изменения: вставить, удалить или переименовать поля, изменить условия отбора, тип сортировки и др.
Чтобы удалить поле, необходимо щёлкнуть на любой ячейке этого поля, а затем выполнить команду Правка ® Удалить.
Для перемещения поля его выделяют щелчком над его заголовком и перетаскивают в соответствующее место бланка запроса.
Добавление нового поля осуществляется таким же образом, как вставка поля при формировании запроса.
Access предоставляет возможность вводить данные либо непосредственно в таблицу, как было рассмотрено ранее, либо с помощью форм. Формы рекомендуется использовать, если данные часто меняются или база постоянно пополняется новыми записями. Если данные вводятся непосредственно с бланков, то графическими средствами форму можно представить так, чтобы она повторяла оформление бланка, что заметно облегчает работу пользователя.
С помощью форм данные можно не только вводить, но и отображать в удобном для пользователя виде.
Формы можно создавать в режиме Конструктор или с помощью Мастера форм, или использовать автоформы. В отличие от таблиц и запросов, которые рекомендуется формировать с помощью Конструктора, формы удобнее создавать, используя автоформы или Мастер форм, а Конструктор применять при редактировании и форматировании форм.
Автоформы бывают трех видов: «в столбец» ленточные и табличные. Табличные формы имеют вид таблиц Автоформа «в столбец» может отображать только одну запись.
Для создания автоформы в окне базы данных надо щелкнуть на значке элемента Формы и затем щелкнуть на кнопке Создать. В диалоговом окне Новая форма выбирается вид автоформы и источник данных: таблица или запрос. После щелчка на кнопке OK автоформа выводится на экран.
Использование Мастера форм позволяет отображать в форме не все поля источника данных, а выборочно, по желанию пользователя. Для выбора поля в окне Доступные поля маркируется имя требуемого поля, а затем выполняется щелчок на кнопке переноса > . Для «переноса» всех полей источника данных в окно Выбранные поля используется кнопка >> .
Создавая форму с помощью Мастера, можно выбрать внешний вид формы: в один столбец (на экране отображается только одна запись), ленточный или табличный. Можно также задать требуемый стиль и имя формы.
Под редактированием формы понимаются такие изменения, как удаление поля и добавление нового, добавление новых текстовых записей и изменение существующих и т. п. Для отображения структуры формы на экране необходимо в окне базы данных выделить имя требуемой формы и щелкнуть на кнопке Конструктор. Структура формы
(ленточной), содержит три основных раздела: область заголовка, область данных и область примечаний.
Размеры разделов можно изменять, перетаскивая по вертикали линии, разделяющие эти зоны. Разделы заголовка и примечаний содержат в основном такие элементы оформления формы, как текстовые надписи и рисунки. Основными элементами области данных являются поля, с помощью которых выполняется отображение данных или их ввод.
Элементы управления представлены на Панели элементов вызываемой командой Вид ® Панель элементов или щелчком на соответствующей кнопке панели инструментов. Выбор элемента управления осуществляется щелчком на его значке в Панели элементов, после чего указатель мыши устанавливается в то место структуры формы, куда должен быть вставлен элемент, и мышь протаскивается в требуемом направлении.
Наиболее часто при редактировании форм или создания форм в режиме Конструктор используются элементы управления Надпись, Поле, Рисунок, Сводная рамка объекта. Рисунок выбирается из графического файла и вставляется в объект. Элемент Сводная рамка объекта может быть представлен не только в виде рисунка, созданного, допустим, в графическом редакторе Paintbrush, но и в виде другого объекта, например мультимедийного.
Вместе с элементом Поле автоматически вставляется его присоединённая надпись. По умолчанию эта надпись стандартная: Поле 1, Поле 2 и т.д. Если новое поле не содержит данных, то в нём отображается слово Свободный. Поле можно сделать вычисляемым. В этом случае в присоединённую надпись вводится поясняющее сообщение, например Средний оклад, а в поле записывается выражение =Avg([Оклад]). С помощью такого поля можно подводить итоги, если оно будет вставлено в область примечаний формы.
Выражение в поле можно не только вводить с клавиатуры, но и форматировать его автоматически. С этой целью выделяется поле, куда будет введено выражение, а из контекстного меню (вызывается щелчком правой клавиши мыши) выбирается команда Свойство. Затем в диалоговом окне Поле курсор необходимо перевести в строку Данные и щелкнуть на кнопке с тремя точками; на экране появится диалоговое окно Построитель выражения. В этом окне щелчком на соответствующей кнопке вставляется знак равенства (=), двойным щелчком раскрывается папка Функции, затем щелчком раскрывается папка Встроенные функции. Функция Avg (среднее значение), входящая в список встроенных функций, вставляется в выражение либо двойным щелчком, либо щелчком на кнопке Вставить. В выражении эта функция отображается с аргументом «expr», который необходимо удалить, после чего выделить имя формы (в нижнем левом окне), а затем из появившегося списка полей (в нижнем среднем окне) выбрать поле Оклад.