Сброс значения поля «Счетчик» в Access
В этой пошаговой статье описывается сброс значения поля «Счетчик » в Access. Значение поля «Счетчик » в Access не сбрасывается автоматически при удалении некоторых строк или всех строк в таблице. Чтобы сбросить значение поля «Счетчик» и обновить значение счетчика в таблице, на которую указывает ссылка, необходимо вручную выполнить некоторые задачи.
Перед выполнением следующих действий необходимо создать резервную копию базы данных.
Сброс поля «Счетчик» в одной таблице
Если таблица не имеет связей с другими таблицами, используйте метод 1 или метод 2, чтобы сбросить значение поля «Счетчик».
Метод 1. Перемещение данных в новую таблицу с помощью Make-Table запроса
Значение поля «Счетчик» можно сбросить с помощью запроса Make-Table, чтобы создать таблицу с одинаковыми данными, а затем добавить новое поле «Счетчик».
Access 2003 и более ранних версий
Чтобы сделать это в Access 2003 или более ранней версии, выполните следующие действия.
- Удалите поле «Счетчик » из главной таблицы и запишите имя поля «Счетчик «.
- Щелкните «Запросы» на левой панели, а затем дважды щелкните «Создать запрос» в конструкторе на правой панели.
- В диалоговом окне «Показать таблицу» выберите главную таблицу, нажмите кнопку «Добавить» и нажмите кнопку «Закрыть».
- Дважды щелкните обязательные поля в представлении таблицы главной таблицы, чтобы выбрать поля.
- Выберите необходимый порядок сортировки .
- В меню «Запрос » щелкните «Создать запрос к таблице», введите имя новой таблицы в текстовом поле « Имя таблицы» и нажмите кнопку «ОК «.
- В меню «Запрос » нажмите кнопку » Выполнить».
- При появлении запроса «You are about to paste # row(s) into a new table» (Вы вставляете строки # в новую таблицу) нажмите кнопку «Да», чтобы вставить строки.
- В меню «Файл » нажмите кнопку «Закрыть», а затем нажмите кнопку « Нет», чтобы закрыть окно запроса на создание таблицы.
- Щелкните «Таблицы» на левой панели, щелкните правой кнопкой мыши новую таблицу и выберите пункт «Конструктор«.
- В конструкторе таблицы добавьте поле «Счетчик» с тем же именем поля, которое вы удалили на шаге 1, добавьте это поле «Счетчик » в новую таблицу и сохраните таблицу.
- Закройте окно конструктора .
- Переименуйте главную таблицу, а затем переименуйте новую таблицу в соответствии с именем главной таблицы.
Access 2007 и более поздних версий
Чтобы сделать это в Microsoft Office Access 2007 или более поздней версии, выполните следующие действия.
- Удалите поле «Счетчик » из главной таблицы и запишите имя поля «Счетчик «.
- Откройте вкладку «Создать «, а затем выберите » Конструктор запросов » в группе «Другие «.
- В диалоговом окне «Показать таблицу» выберите главную таблицу. Нажмите Добавить, а затем — Закрыть.
- Дважды щелкните обязательные поля в представлении таблицы главной таблицы, чтобы выбрать поля.
- Выберите необходимый порядок сортировки .
- На вкладке «Конструктор » нажмите кнопку «Создать таблицу » в группе «Тип запроса «.
- Введите имя новой таблицы в поле «Имя таблицы » и нажмите кнопку » ОК».
- На вкладке «Конструктор » нажмите кнопку « Выполнить» в группе «Результаты «.
- При появлении запроса «You are about to paste # row(s) into a new table» (Вы вставляете строки # в новую таблицу) нажмите кнопку «Да», чтобы вставить строки.
- Закройте запрос.
- Щелкните правой кнопкой мыши новую таблицу и выберите пункт «Конструктор».
- В конструкторе таблицы добавьте поле « Счетчик» с тем же именем поля, которое было удалено на шаге 1. Добавьте это поле «Счетчик » в новую таблицу и сохраните таблицу.
- Закройте окно конструктора.
- Переименуйте главную таблицу, а затем переименуйте новую таблицу в соответствии с именем главной таблицы.
Метод 2. Создание новой таблицы и перемещение данных в нее с помощью запроса на добавление
Структуру существующей таблицы можно скопировать в виде новой таблицы. Затем можно добавить данные в новую таблицу и добавить новое поле «Счетчик».
Access 2003 и более ранних версий
Чтобы сделать это в Microsoft Office Access 2003 и более ранних версиях, выполните следующие действия.
- Удалите поле «Счетчик » из главной таблицы. Запишите имя поля «Счетчик «.
- Скопируйте структуру главной таблицы и создайте новую таблицу.
- Щелкните «Запросы» на левой панели. Щелкните «Создать запрос» в конструкторе на правой панели.
- В диалоговом окне «Показать таблицу» выберите главную таблицу. Нажмите кнопку « Добавить», а затем нажмите кнопку «Закрыть».
- Чтобы выбрать поля, дважды щелкните необходимые поля. Выполните это для всех полей, кроме поля «Счетчик » в представлении таблицы главной таблицы.
- В меню «Запрос » щелкните «Добавить запрос».
Примечание. При этом изменяется тип запроса.
Access 2007 и более поздних версий
Чтобы сделать это в Microsoft Office Access 2007 или более поздней версии, выполните следующие действия.
- Удалите поле «Счетчик » из главной таблицы. Запишите имя поля «Счетчик «.
- Скопируйте структуру главной таблицы, а затем создайте новую таблицу.
- Откройте вкладку «Создать «, а затем выберите » Конструктор запросов » в группе «Другие «.
- В диалоговом окне «Показать таблицу» выберите главную таблицу. Нажмите Добавить, а затем — Закрыть.
- Чтобы выбрать поля, дважды щелкните необходимые поля. Выполните это для всех полей, кроме поля «Счетчик » в представлении таблицы главной таблицы.
- На вкладке « Конструктор» щелкните «Добавить » в группе «Тип запроса «.
Примечание. При этом изменяется тип запроса.
Сброс поля «Счетчик» в таблице со ссылками на таблицы
Таблица со ссылками имеет связь с одной или несколькими таблицами. Ниже описано, как сбросить поле «Счетчик » для таблицы с одной таблицей, на которую ссылаются. Если у вас есть несколько ссылочных таблиц, необходимо выполнить следующие действия для каждой таблицы, на которую указывает ссылка.
- Удалите связь между таблицами.
- Задайте для поля «Счетчик» основной таблицы тип данных «Число», а затем удалите первичный ключ.
- Создайте новое поле типа данных AutoNumber в основной таблице, а затем сохраните таблицу.
- Создайте новое поле типа данных Number в указанной таблице, а затем сохраните таблицу.
- Чтобы создать запрос на обновление, который обновляет новое поле в таблице, на которую указывает ссылка, на новое поле « Счетчик» главной таблицы, выполните следующие действия. Access 2003 и более ранних версий
- Щелкните «Запросы» в левой области и выберите команду «Создать запрос» в конструкторе в области справа.
Примечание. При этом создается новый запрос.
Примечание. При этом создается соединение между таблицами, основанное на исходных полях связывания.Access 2007 и более поздних версий
- Откройте вкладку «Создать «, а затем выберите » Конструктор запросов » в группе «Другие «. При этом создается новый запрос.
- В диалоговом окне «Показать таблицу» выберите главную таблицу и таблицу, на которую указывает ссылка. Нажмите кнопку «Добавить», чтобы добавить главную таблицу и таблицу, на которую указывает ссылка. Нажмите кнопку Закрыть.
- Щелкните поле в главной таблице, которая ранее была связана со связанной таблицей, а затем перетащите поле в ранее связанное поле ссылаемой таблицы.
4. Работа с системой управления базами данных Microsoft Access
Запрос — Запросы являются мощным средством обработки данных, хранимых в таблицах Access. С помощью запросов можно просматривать, анализировать и изменять данные из нескольких таблиц. Они также используются в качестве источника данных для форм и отчетов.
Записи — Однотипные сведения о различных объектах БД.
Ключи — Ключом называют любую функцию от атрибутов кортежа, которая может быть использована для идентификации кортежа.
Конструктор — Мастер для создания различных форм БД.
Отчет — Одна из форм БД, позволяющая представить её в удобном для просмотра результатов выборки форме.
Поля таблицы данных — Поля имею уникальные имена, длину и тип и определяют формат информации об объектах БД.
Реляционная БД — БД логически связанная с другими БД с помощью полей с одинаковыми именами.
Сортировка данных — Операция, позволяющая отсортировать данные в таблице по алфавиту или величине, возможно многоуровневая сртировка, сначала по одному полю, потом по другому и т.д.
СУБД — Система управления БД. Комплекс программных средств, например, ACCESS для работы с БД — их создание, модификацию, заполнения, создание различных форм и т.д.
Типы данных — Типы, определяющие вид данных в БД — числовые, текстовые, даты, логические и т.п.
Фильтр — Способ выделения из БД тех данных, которые отвечают заданному запросу.
Формы БД — Формы обеспечивают наиболее гибкий способ ввода, просмотра и удаления данных и фактически являются шаблонами, управляющими отображением информации. Форма позволяет отображать одновременно все поля одной или нескольких записей. Можно создать форму-меню для вызова других форм, таблиц, запросов или отчетов.
4.1. Создание однотабличной базы данных
Общие сведения. Access — это система управления базами данных (СУБД), под которой понимается комплекс программ, позволяющий хранить большие массивы данных в определенном формате, обрабатывать их и представлять в удобном для пользователя виде. Access дает также возможность автоматизировать часто выполняемые операции (например, расчет заработной платы, учет материальных ценностей и т. п.). С помощью Access можно разрабатывать удобные формы ввода и просмотра данных, а также составлять сложные отчеты.
Access — реляционная база данных (возможна одновременная работа с несколькими связанными таблицами базы данных), в которой предусмотрено много сервисных функций. Мастера облегчают создание таблицы, формы или отчета из имеющихся заготовок. Выражения используются в Access, например, для проверки допустимости введенного значения. Макросы позволяют автоматизировать многие процессы без программирования, тогда как встроенный в Access язык VBA (Visual Basic for Applications — диалект языка Basic для использования в приложениях Microsoft Office) дает возможность опытному пользователю программировать сложные процедуры обработки данных. Для взаимодействия Access с другими приложениями — источниками данных используют такие возможности языка программирования С, как функции и обращения к Windows API (Application Programming Interface — интерфейс прикладных программ Windows).
Microsoft Access содержит множество средств для работы в Internet, а также набор инструментов для управления базами данных, включающий в себя конструкторы таблиц, форм, запросов и отчетов. Мощность и гибкость СУБД Access делают ее сегодня одной из лучших программ для управления базами данных.
Структура таблицы и типы данных. Все составляющие базы данных (таблицы, отчеты, запросы, формы и объекты) хранятся в едином дисковом файле. Основным структурным компонентом базы данных является таблица, в которой хранятся вводимые данные. Таблица состоит из столбцов, называемых полями, и строк, называемых записями. Каждая запись таблицы содержит всю необходимую информацию об отдельном элементе базы данных.
При разработке структуры таблицы необходимо прежде всего определить названия полей, из которых она должна состоять, типы полей и их размеры. Каждому полю таблицы присваивается уникальное имя, которое не может содержать более 64 символов. Далее в режиме конструктора каждому полю присваивается один из типов данных:
- текстовый (по умолчанию) — текст или числа, не требующие расчетов (до 255 знаков);
- числовой — числовые данные различных форматов, используемые для проведения расчетов четов;
- дата/время — хранение информации о дате и времени (с 100 по 9999 год включительно);
- денежный — денежные значения и числовые данные, используемые в расчетах, проводящихся с точностью до 15 знаков в целой и до 4 знаков в дробной части;
- поле МЕМО — хранение комментариев (до 65 535 символов);
- счетчик — специальное числовое поле, в котором автоматически присваивается уникальный порядковый номер каждой записи (значения поля обновлять нельзя);
- логический — может иметь только одно из двух возможных значений (True/False);
- поле объекта OLE — объект, связанный или внедренный в таблицу Access;
- гиперссылка — строка, состоящая из букв и цифр и представляющая собой адрес гиперссылки.
В Access существует четыре способа создания пустой таблицы:
- использование мастера баз данных для создания всей базы данных, содержащей все требуемые отчеты, таблицы и формы, за одну операцию. Мастер баз данных создает новую базу данных, его нельзя использовать для добавления новых таблиц, форм, отчетов в уже существующую базу данных;
- выбор полей для данной таблицы из множества определенных ранее таблиц. Это позволяет осуществить мастер таблиц;
- ввод данных непосредственно в пустую таблицу в режиме таблицы. При сохранении таблицы данные анализируются и каждому полю присваивается необходимый тип данных и формат;
- определение всех параметров макета таблицы в режиме конструктора.
Независимо от метода, применяемого для создания таблицы, всегда имеется возможность использовать режим конструктора для дальнейшего изменения макета таблицы, например для добавления новых полей, установки значений по умолчанию или для создания масок ввода. Однако только четвертый метод позволяет сразу задать требуемую структуру таблицы, поэтому далее рассмотрим именно этот метод.
Ввод данных в ячейки таблицы. Особенности ввода следующие: при нажатии клавиши Del ячейка очищается; если ввод данных в ячейку прервать, нажав клавишу Esc, то восстановится старое значение, а если нажать клавиши Enter или Tab, то в ячейку заносится новое значение. Для редактирования текущего значения необходимо дважды щелкнуть мышью или нажать клавишу F2. Для некоторых типов данных (числовой, денежный, дата/время, логический) Access автоматически проверяет правильность ввода.
Для всех типов полей (кроме типов Счетчик и поля объекта OLE) можно самостоятельно задавать ограничения для вводимых данных (режим конструктора, вкладка Общие, поле Условия на ограничение).
Можно использовать еще один инструмент при вводе данных — параметр Значение по умолчанию (вкладка Общие), который удобно использовать, когда большинство значений данного поля одинаковы и лишь некоторые отличаются. Данные можно вводить и копированием их из одной ячейки в другую стандартными средствами Windows.
Редактирование данных. Для редактирования курсор переводится в нужную ячейку, старые данные удаляются и вводятся новые данные. Если таблица большая, то для поиска можно использовать команду Правка Найти. Для замены большого количества одинаковых данных используется команда Правка Заменить.
Сортировка данных. Для удобства просмотра можно сортировать записи в таблице в определенной последовательности. Кнопки сортировки на панели инструментов (или команды меню Записи Сортировка Сортировка по возрастанию (Сортировка по убыванию)) позволяют сортировать предварительно выделенные столбцы по возрастанию или по убыванию. По умолчанию сортировка записей начинается с крайнего выделенного столбца. Для восстановления порядка отображения записей используется команда Записи Удалить фильтр.
Отбор данных с помощью фильтра. Фильтр — это набор условий, применяемых для отбора подмножества записей. В Access существуют фильтры четырех типов: фильтр по выделенному фрагменту, обычный фильтр, расширенный фильтр и фильтр по вводу (команда Записи Фильтр).
Ввод и просмотр данных посредством формы. Формы обеспечивают наиболее гибкий способ ввода, просмотра и удаления данных и фактически являются шаблонами, управляющими отображением информации. Форма позволяет отображать одновременно все поля одной или нескольких записей. Можно создать форму-меню для вызова других форм, таблиц, запросов или отчетов. В форме каждое поле можно разместить в точно заданном месте, выбрать для него цвет или заливку и добавить элементы управления текстом для эффективного ввода данных.
При вводе данных можно не только помещать вычисляемые поля в форму, но и добавлять расширенные правила проверки корректности ввода и элементы управления (например, переключатели, флажки, раскрывающиеся списки). Линии, рамки, цвета и фоновые изображения улучшают внешний вид данных, облегчают восприятие формы и повышают продуктивность работы. В дополнение к этому OLE-объекты (такие, как рисунки и графики) можно увидеть только в форме или в отчете.
Создать форму можно несколькими способами, которые можно увидеть, если в режиме базы данных открыть вкладку Формы и щелкнуть по кнопке Создать.
Конструктор позволяет создать форму самостоятельно, но для начинающих пользователей это довольно сложно. Мастер форм дает возможность автоматически создать форму на основе выбранных полей. Этот режим наиболее удобен при создании форм как для начинающих, так и для опытных пользователей. Access в режиме диалога выясняет у пользователя, какую форму он хочет получить, и создает ее автоматически. При необходимости форму можно исправить в режиме конструктора. Автоформы являются частными случаями мастера форм, т. е. они создают заданные виды форм автоматически, практически без участия пользователя. Это может быть удобно, когда базовая таблица одна, содержит не много полей и нужно быстро создать простую форму. Диаграмма создает форму со встроенной диаграммой, а сводная таблица — со сводной таблицей Excel.
Наиболее удобным и гибким способом создания форм является Мастер форм. В этом режиме можно выбрать поля таблицы для отображения в форме, стиль и цвет оформления фона и ячеек, а также вид формы. Мастер форм предлагает четыре вида формы представления данных: в один столбец, ленточная, табличная и выровненная.
Поля в форме в один столбец упорядочены и представлены в виде столбцов. Access дает возможность использовать большинство стандартных элементов управления Windows, которые создают привычный интерфейс при вводе данных. Ленточная и табличная формы похожи друг на друга, но в табличной форме ограничены возможности редактирования. В ленточной форме доступны все виды инструментов и способы оформления фона и ячеек с данными. Выровненный вид формы похож на ленточную форму, но отличается тем, что на экран выводятся все поля с одной записью, и если полей много, то они располагаются рядами — один под другим.
4.2. Формирование запросов и отчетов для однотабличной базы данных
Формирование запросов на выборку. Запросы являются мощным средством обработки данных, хранимых в таблицах Access. С помощью запросов можно просматривать, анализировать и изменять данные из нескольких таблиц. Они также используются в качестве источника данных для форм и отчетов. Запросы позволяют вычислять итоговые значения и выводить их в компактном формате, подобном формату электронной таблицы, а также выполнять вычисления над группами записей.
Запросы можно создавать самостоятельно и с помощью мастеров. Мастера запросов автоматически выполняют основные действия в зависимости от ответов пользователя на поставленные вопросы. Самостоятельно разработать запросы можно в режиме конструктора.
В Access можно создавать следующие типы запросов:
- запрос на выборку;
- запрос с параметрами (критерий отбора задает пользователь, введя нужный параметр при вызове запроса);
- перекрестный запрос (позволяет создавать результирующие таблицы на основе результатов расчетов, полученных при анализе группы таблиц);
- запрос на изменение (удаление, обновление и добавление) записей (позволяет автоматизировать заполнение полей таблиц);
- запросы SQL (на объединение, к серверу, управляющие, подчиненные), написанные на языке запросов SQL.
Запрос на выборку используется наиболее часто. При его выполнении данные, удовлетворяющие условиям отбора, выбираются из одной или нескольких таблиц и выводятся в определенном порядке.
Примечание. Простые запросы на выборку практически не отличаются от фильтров, причем фильтры можно сохранять как запросы.
Можно также использовать запрос на выборку, чтобы сгруппировать записи для вычисления сумм, средних значений, пересчета и для других действий.
Для создания нового запроса надо в окне базы данных выбрать вкладку Запросы, щелкнуть по кнопке Создать и в открывшемся окне выбрать один из пяти пунктов: Конструктор, Простой запрос, Перекрестный запрос, Повторяющиеся записи, Записи без подчиненных. Конструктор позволяет самостоятельно создать любой тип запроса, но этот режим рекомендуется пользователям, уже имеющим некоторый опыт создания запросов. Простой запрос позволяет создать с помощью Мастера запрос на выборку из определенных полей таблиц или других запросов (наилучший способ создания запроса для начинающих пользователей). Назначение перекрестного запроса указано выше. Пункт Повторяющиеся записи создает запрос на поиск повторяющихся записей в простой таблице или в запросе, а пункт Записи без подчиненных — запрос на поиск записей, которым не соответствует ни одна запись в подчиненной таблице (используется для многотабличных баз данных).
Формирование отчетов. Отчет — это гибкое и эффективное средство для организации просмотра и распечатки итоговой информации. В отчете можно получить результаты сложных расчетов, статистических сравнений, а также поместить в него рисунки и диаграммы.
Пользователь имеет возможность разработать отчет самостоятельно или создать отчет с помощью мастера. Мастер по разработке отчетов выполняет всю рутинную работу и позволяет быстро разработать отчет. После вызова Мастера выводятся диалоговые окна с приглашением ввести необходимые данные, и отчет создается на основании ответов пользователя. Мастер необходим даже для опытных пользователей, так как позволяет быстро разработать макет, служащий основой создаваемого отчета. После этого можно переключиться в режим конструктора и внести изменения в стандартный макет.
При работе с Мастером Access предлагает различные варианты макетов отчета. Для создания отчета надо открыть вкладку Отчеты и щелкнуть по кнопке Создать. Откроется окно Новый отчет, в котором приведены шесть способов создания отчета: Конструктор, Мастер отчетов, Автоотчет в столбец, Автоотчет ленточный, Мастер диаграмм и Почтовые наклейки. Конструктор позволяет самостоятельно создать отчет, но это непросто даже для опытного пользователя. Мастер отчетов автоматически создает отчет на основе выбранных полей таблиц (запросов) и макетов отчетов. Этот способ создания отчетов является наиболее удобным как для начинающих, так и для опытных пользователей.
Автоотчет в столбец и Автоотчет ленточный — простейшие способы создания отчетов: достаточно указать только имя таблицы (запроса), на основе которого будет создан отчет, а остальное сделает Мастер отчетов.
Мастер диаграмм создает отчет в виде диаграммы, а Почтовые наклейки создадут отчет, отформатированный для печати почтовых наклеек.
4.3. Организация данных
Слово «реляционная» происходит от английского relation — отношение. Отношение — математическое понятие, но в терминологии моделей отношения удобно изображать в виде таблицы, в которой строки соответствуют кортежам отношения, а столбцы — атрибутам. Ключом называют любую функцию от атрибутов кортежа, которая может быть использована для идентификации кортежа. Такая функция может быть значением одного из атрибутов (простой ключ), задаваться алгебраическим выражением, включающим значения нескольких атрибутов (составной ключ).
В Access 97 выделяют три типа ключевых полей: простой ключ, составной ключ и внешний ключ.
Одно из важнейших достоинств реляционных баз данных состоит в возможности хранения логически сгруппированных данных в разных таблицах и задания связи между ними путем объединения их в единую базу. Для задания связи таблицы должны иметь поля с одинаковыми именами или хотя бы с одинаковыми форматами данных. Связь между таблицами устанавливает отношения между совпадающими значениями в этих полях. Такая организация данных позволяет уменьшить избыточность хранимых данных, упрощает их ввод и организацию запросов и отчетов.
В Access 97 можно задать три вида связей между таблицами: Один-ко-многим, Многие-ко-многим и Один-к-одному.
Связь Один-ко-многим — наиболее часто используемый тип связи между таблицами. В такой связи каждой записи в таблице А может соответствовать несколько записей в таблице В (поля с этими записями называются ключами), а запись в таблице В не может иметь более одной соответствующей ей записи в таблице А. При связи
Многие-ко-многим одной записи в таблице А может соответствовать несколько записей в таблице В, а одной записи в таблице В — несколько записей в таблице А. Такая схема реализуется только с помощью третьей (связующей) таблицы, ключ которой состоит, по крайней мере, из двух полей, одно из которых является общим с таблицей А, а другое — общим с таблицей В.
При связи Один-к-одному запись в таблице А может иметь не более одной связанной записи в таблице В и наоборот. Этот тип связи используется не очень часто, поскольку такие данные могут быть помещены в одну таблицу. Связь с отношением Один-к-одному применяют для разделения очень широких таблиц, для отделения части таблицы в целях ее защиты, а также для сохранения сведений, относящихся к подмножеству записей в главной таблице.
Тип создаваемой связи зависит от полей, для которых определяется связь:
- связь Один-ко-многим создается в том случае, когда только одно из полей является ключевым словом или имеет уникальный индекс, т. е. значения в нем не повторяются;
- связь Один-к-одному создается в том случае, когда оба связываемых поля являются ключевыми или имеют уникальные индексы;
- связь Многие-ко-многим фактически представляет собой две связи типа Один-ко-многим через третью таблицу, ключ которой состоит, по крайней мере, из двух полей, общих для двух других таблиц.
4.4. Формирование сложных запросов
В перекрестном запросе отображаются результаты статистических расчетов (суммы, количество записей, средние значения), выполненных по данным из одного поля таблицы. Эти результаты группируются по двум наборам данных, один из которых расположен в левом столбце таблицы, а второй — в верхней строке.
Запрос на изменение — это запрос, который за одну операцию вносит изменения в несколько записей. Существует четыре типа запросов на изменение: на удаление, обновление и добавление записей, а также на создание таблицы.
Запрос на удаление удаляет группу записей, удовлетворяющих заданным условиям, из одной или нескольких таблиц, причем можно удалять только всю запись, а не отдельные поля внутри ее. Запрос на обновление записей вносит общие изменения в группу записей одной или нескольких таблиц. Запрос на добавление добавляет группу записей из одной или нескольких таблиц в конец одной или нескольких таблиц. Запрос на создание таблицы создает новую таблицу на основе всех или части данных из одной или нескольких таблиц.
Запрос SQL — это запрос, создаваемый при помощи инструкций SQL. Этот тип запросов довольно сложен для начинающих пользователей и используется обычно опытными пользователями, имеющими навыки программирования и общения с серверами баз данных.
4.5. Создание сложных форм и отчетов с помощью кнопочного меню
Кнопочное меню представляет собой форму, на которой расположены элементы управления — кнопки с поясняющими надписями. Щелчок по кнопке открывает соответствующую таблицу, запрос, форму или отчет.
Меню — удобный инструмент с базами данных, и он практически всегда присутствует в базах, созданных для предприятий и фирм.
Кнопочное меню можно создать вручную (в режиме конструктора) или воспользовавшись диспетчером кнопочных форм. Меню, созданные вручную, могут обладать большими возможностями и выглядеть более привлекательно, чем меню, созданные Диспетчером. Однако для создания красивого меню вручную требуется достаточно много времени даже для опытного разработчика, а создать простое меню с помощь Диспетчера можно за несколько минут, тем более что впоследствии в режиме конструктора можно дополнить и изменить это меню.
4.6. Практические задания
Задание 1. Создание базы данных
Создайте новую базу данных, таблицу базы данных, определите поля таблицы в соответствии с табл. 1, сохраните созданную таблицу.Таблица 1
Таблица данных. Преподаватели
Технология работы:
1. Для создания новой базы данных:
- загрузите Access, выберите пункт Новая база данных;
- в окне Файл новой базы данных в пункте Имя файла задайте имя базы Преподававтели (тип файла — Базы данных Access) и выберите папку (пункт Папка), где ваша база данных будет находиться;
- щелкните по кнопке Создать.
2. Для создания таблицы базы данных:
- выберите вкладку Таблицы и щелкните по кнопке Создать;
- в окне Новая таблица выберите пункт Конструктор и щелкните по кнопке ОК. В результате откроется окно таблицы в режиме конструктора.
3. Определите поля таблицы в соответствии с табл. 1.
4. Сохраните созданную таблицу с именем Преподававтели.Задание 2. Заполнение базы данных
1. Введите ограничения на данные, вводимые в поле Должность (должны вводиться только слова Профессор, Доцент или Ассистент).
2. Задайте текст сообщения об ошибке, который будет появляться на экране при вводе неправильных данных в поле Должность.
3. Задайте значение по умолчанию для поля Должность в виде слова Доцент.
4. Введите ограничения на данные в поле Код (эти данные не должны повторяться).
5. Заполните таблицу данными в соответствии с табл. 2 и проверьте реакцию системы на ввод неправильных данных в поле Должность.
6. Измените ширину каждого поля таблицы в соответствии с шириной данных.
7. Произведите поиск в таблице преподавателя Миронова.
8. Произведите замену данных: измените заработную плату ассистенту Сергеевой с 650 р. до 720 р.
9. Произведите сортировку данных в поле Год рождения по убыванию.
10. Произведите фильтрацию данных по полям Должность и Дисциплина.
11. Просмотрите созданную таблицу (как она будет выглядеть на листе бумаги при печати).Таблица 2
Технология работы:
1. Войдите в режим Конструктор для проектируемой таблицы, щелкните по полю Должность, а затем по строке параметра Условие на значение. Щелкните по кнопке … и при помощи построителя выражений введите ограничения на данные, используя кнопку логического сложения Or.
2. В строку Сообщение об ошибке введите предложение «Такой должности нет, правильно введите данные».
3. В строку Значение по умолчанию введите слово «Доцент».
4. Замените в поле Код тип данных Счетчик на Числовой (тип данных Счетчик не обеспечивает возможности изменения кодов). Щелкните по строке параметра Индексированное поле, выберите в списке пункт Да (совпадения не допускаются), перейдите в Режим таблицы и сохраните таблицу.
5. Введите данные в таблицу в соответствии с табл. 2. Попробуйте в поле Должность ввести слово Лаборант. На экране должно появиться сообщение: «Такой должности нет, правильно введите данные». Введите правильное слово.
6. Для изменения ширины каждого поля таблицы выполните команду Формат Ширина столбца и в появившемся окне щелкните по кнопке По ширине данных.
7. Для поиска в таблице преподавателя Миронова:- переведите курсор в первую строку Фамилия;
- выполните команду Правка Найти;
- в появившейся строке параметра Образец введите Миронов;
- в строке параметра Просмотр должно быть слово ВСЕ (искать по всем записям);
- в строке параметра Совпадение выберите из списка С любой
частью поля; - в строке параметра Только в текущем поле установите флажок;
- щелкните по кнопке Найти. Курсор перейдет на вторую запись и выделит слово Миронов;
- щелкните по кнопке Найти далее. Курсор перейдет на седьмую запись и также выделит слово Миронов;
- щелкните по кнопке Закрыть для выхода из режима поиска.
8. Для изменения заработной платы ассистенту Сергеевой с 650 р. на 720 р.:
- переведите курсор в первую строку поля Зарплата;
- выполните команду Правка Заменить;
- в появившемся окне в строку Образец введите 650;
- в строку Заменить на введите 720;
- щелкните по кнопке Закрыть.
9. Для сортировки данных в поле Год рождения по убыванию выполните команду Записи Сортировка Сортировка по убыванию.
10. Для фильтрации данных по полям Должность и Дисциплина:- щелкните по записи Доцент поля Должность и выполните команду Записи Фильтр Фильтр по выделенному. В таблице останутся только записи о преподавателях-доцентах;
- щелкните по записи Информатика поля Дисциплина и выполните команду Записи Фильтр Фильтр по выделенному. В таблице останутся только записи о преподавателях-доцентах кафедры информатики;
- для отмены фильтрации выполните команду Записи Удалить фильтр. В таблице появятся все данные.
11. Для просмотра созданной таблицы выполните команду Файл Предварительный просмотр. Закройте окно просмотра.
Задание 3. Ввод и просмотр данных посредством формы
1. С помощью Мастера форм создайте форму Состав преподавателей (тип — форма в один столбец).
2. Найдите запись о доценте Гришине, находясь в режиме формы.
3. Измените зарплату ассистенту Сергеевой с 720 р. на 750 р.
4. Произведите сортировку данных в поле Фамилия по убыванию.
5. Произведите фильтрацию данных по полю Должность.
6. Измените название поля Дисциплина на Преподаваемая дисциплина.
7. Просмотрите форму. Как она будет выглядеть на листе бумаги?Технология работы:
1. Для создания формы Состав преподавателей:
- откройте вкладку Формы в окне базы данных, щелкните по кнопке Создать и в появившемся окне выберите пункт Мастер форм;
- щелкните по значку списка в нижней части окна, выберите таблицу Преподаватели и щелкните по кнопке ОК;
- в появившемся окне выберите поля, которые будут присутствовать в форме (в данном примере присутствовать будут все поля), а затем щелкните по кнопке Далее;
- в появившемся окне выберите вид Форма в один столбец и щелкните по кнопке Далее;
- в появившемся окне выберите стиль оформления и щелкните по кнопке Далее;
- в появившемся окне задайте имя формы Состав преподавателей и щелкните по кнопке Готово.
2. Для поиска преподавателя Миронова:
- переведите курсор в первую строку поля Фамилия, выполните команду Правка Найти и в появившемся окне в строке Образец введите фамилию Миронов;
- в строке параметра Просмотр должно быть слово ВСЕ (искать по всем записям);
- в строке параметра Совпадение выберите из списка параметр С любой частью поля;
- в строке параметра Только в текущем поле установите флажок;
- щелкните по кнопке Найти. Курсор перейдет на вторую запись и выделит слово Миронов;
- щелкните по кнопке Найти далее. Курсор перейдет на седьмую запись и также выделит слово Миронов;
- щелкните по кнопке Закрыть для выхода из режима поиска.
3. Для изменения зарплаты ассистенту Сергеевой с 720 р. на 750 р.:
- переведите курсор в первую строку поля Зарплата, выполните команду Правка Заменить и в появившемся окне в строке параметра Образец введите 720;
- в строку параметра Заменить на введите 750, щелкните сначала по кнопке Найти далее, а затем по кнопке Заменить;
- щелкните по кнопке Закрыть.
4. Для сортировки данных в поле Год рождения щелкните по любой записи поля Год рождения, выполните команду Записи Сортировка Сортировка по убыванию.
5. Для фильтрации данных по полю Должность:- щелкните по записи Доцент поля Должность и выполните команду Записи Фильтр Фильтр по выделенному. В форме останутся только записи о преподавателях-доцентах;
- щелкните по записи Информатика поля Дисциплина и выполните команду Записи Фильтр Фильтр по выделенному. В форме останутся только записи о преподавателях-доцентах кафедры информатики;
- для отмены фильтра выполните команду Записи Удалить фильтр. В таблице появятся все данные.
6. Для изменения поля Дисциплина на Преподаваемая дисциплина:
- перейдите в режим конструктора (команда Вид Конструктор), щелкните правой кнопкой в поле Дисциплина. В появившемся меню выберите пункт Свойства. На экране откроется окно свойств для названия поля Дисциплина;
- щелкните по строке с именем Подпись (где находится слово Дисциплина), удалите слово «Дисциплина» и введите «Преподаваемая дисциплина»;
- для просмотра результата перейдите в режим формы (команда Вид Режим формы).
7. Для просмотра созданной формы выполните команду Файл Предварительный просмотр. Закройте окно просмотра.
Задание 4. Формирование запросов на выборку
1. На основе таблицы Преподаватели создайте простой запрос на выборку, в котором должны отображаться фамилии, имена, отчества преподавателей и их должность.
2. Данные запроса отсортируйте по должностям и сохраните запрос.
3. Создайте запрос на выборку с параметром, в котором должны отображаться фамилии, имена, отчества преподавателей и преподаваемые ими дисциплины. В качестве параметра задайте фамилию преподавателя и выполните этот запрос для преподавателя Гришина.Технология работы:
1. Для создания простого запроса:
- в окне базы данных откройте вкладку Запросы, в открывшемся окне щелкните по кнопке Создать, из появившихся пунктов окна Новый запрос выберите Простой запрос и щелкните по кнопке ОК;
- в появившемся окне в строке Таблицы/Запросы выберите таблицу Преподаватели;
- переведите поля Фамилия, Имя, Отчество, Должность из окна Доступные поля в окно Выбранные поля и щелкните по кнопке Далее;
- в строке параметра Задайте имя запроса введите новое имя Должности преподавателей и щелкните по кнопке Готово. На экране появится таблица с результатами запроса.
2. Для сортировки данных щелкните в любой строке поля Должность, отсортируйте данные по убыванию (команда Записи Сортировка Сортировка по убыванию), сохраните запрос и закройте окно запроса.
3. Для создания запроса на выборку с параметром:- создайте запрос на выборку аналогично п. 1 для следующих полей таблицы Преподаватели: Фамилия, Имя, Отчество, Преподаваемая дисциплина; задайте имя запросу Преподаваемые дисциплины и щелкните по кнопке Готово. На экране появится таблица с результатами запроса;
- перейдите в режим конструктора (команда Вид Конструктор), в строке параметра Условия отбора для поля Фамилия введите фразу (скобки тоже вводить) [Введите фамилию преподавателя];
- выполните запрос (команда Запрос Запуск), в появившемся окне введите фамилию Гришин и щелкните по кнопке ОК. На экране появится таблица с данными о преподавателе Гришине — его имя, отчество и преподаваемая дисциплина;
- сохраните запрос и закройте окно запроса.
Задание 5. Создание отчета с группированием данных
На основе таблицы Преподаватели создайте отчет с группированием данных по должностям.Технология работы:
1. Откройте вкладку Отчеты, щелкните по кнопке Создать и в открывшемся окне выберите пункт Мастер отчетов.
2. Щелкните по значку раскрывающегося списка в нижней части окна, выберите из появившегося списка таблицу Преподаватели и щелкните по кнопке ОК.
3. В появившемся окне выберите поля, которые будут присутствовать в форме (в данном случае присутствовать будут все поля из таблицы), а затем щелкните по кнопке Далее.
4. Переведите выделение на поле Должность, щелкните сначала по кнопке >>, а затем по кнопке Далее.
5. Параметры появившегося окна оставьте без изменений (щелкните по кнопке Далее), выберите стиль оформления отчета и щелкните по кнопке Далее.
6. В появившемся окне введите название отчета Преподаватели и щелкните по кнопке Готово. Просмотрите, а затем закройте появившийся на экране сформированный отчет.Задание 6. Создание инфологической и логической моделей базы данных
1. Разработайте инфологическую модель реляционной базы данных.
2. Разработайте логическую модель реляционной базы данных.Технология работы:
1. Для разработки инфологической (информационно-логической) модели базы данных выделим три объекта: Студенты, Дисциплины и Преподаватели. Представим состав реквизитов этих объектов в виде — «название объекта (перечень реквизитов)»: Студенты (код студента, фамилия, имя, отчество, номер группы, дата рождения, стипендия, оценки), Дисциплины (код дисциплины, название дисциплины), Преподаватели (код преподавателя, фамилия, имя, отчество, дата рождения, телефон, заработная плата). Типы связей между этими объектами представлены на рис. 1 (M:N — Многие-ко-многим, 1:M — Один-ко-многим).
Рис. 1. Типы связей между объектами Студенты, Дисциплины и Преподаватели
Множественные связи усложняют управление базой данных, поэтому желательно строить реляционную модель, не содержащую связей типа Многие-ко-многим. Введем вспомогательный объект связи Оценки, реквизитами которого являются код студента, код дисциплины и оценки. Тогда получаем инфологическую модель базы данных, приведенную на рис. 2.
Рис. 2. Инфологическая модель реляционной базы данных
2. В реляционной базе данных в качестве объектов рассматриваются отношения, которые можно представить в виде таблиц. Таблицы между собой связываются посредством общих полей. На рис. 3 представлена логическая модель базы данных, где жирными буквами выделены ключевые слова, используемые для обеспечения связности данных.
Рис. 3. Логическая модель базы данных
Задание 7. Создание реляционной базы данных
1. Создайте базу данных Деканат.
2. Создайте структуру таблицы Студенты.
3. Создайте структуру таблицы Дисциплины.
4. Создайте структуру таблицы Преподаватели.
5. Создайте структуру таблицы Оценки.
6. Разработайте схему данных, т. е. создайте связи между таблицами.1. Для создания базы данных Деканат выполните следующие действия:
- загрузите Access, выберите пункт Новая база данных и щелкните по кнопке ОК;
- в окне Файл новой базы данных задайте имя Деканат, выберите папку, где база будет находиться, и щелкните по кнопке Создать.
2. Для создания структуры таблицы Студенты:
- в окне базы данных выберите вкладку Таблицы и щелкните по кнопке Создать;
- в окне Новая таблица выберите пункт Конструктор, щелкните по кнопке ОК и определите поля таблицы в соответствии с табл. 3;
Таблица 3
- в качестве ключевого поля задайте Код студента (команда Правка Ключевое поле), закройте таблицу, присвоив ей имя Студенты.
3. Аналогично п. 2 создайте структуру таблицы Дисциплины в соответствии с данными табл. 4.
Таблица 4
В качестве ключевого поля задайте Код дисциплины.
4. Структура таблицы Преподаватели уже создана в задании 2.1 и заполнена данными, поэтому используйте эту таблицу с одним изменением — в соответствии с рис. 3 в структуру таблицы надо добавить поле Код дисциплины и заполнить его в соответствии с данными табл. 4.
5. Аналогично п. 2 создайте структуру таблицы Оценки в соответствии с данными табл. 5.Таблица 5
В этой таблице задавать ключевое слово не надо, так как данные во всех полях могут повторяться.
1. Для создания связи между таблицами:выполните команду Сервис Схема данных, затем команду Связи Добавить таблицу и щелкните по кнопке Добавить;
- аналогично добавьте оставшиеся три таблицы, последовательно переводя выделение на следующую таблицу, и закройте окно, щелкнув по кнопке Закрыть;
- создайте связь между таблицами Дисциплины и Оценки. Для этого подведите курсор мыши к полю Код дисциплины в таблице Дисциплины, щелкните левой кнопкой мыши и, не отпуская ее, перетащите курсор на поле Код дисциплины в таблицу Оценки, а затем отпустите кнопку мыши. На экране откроется окно Связи, в котором установите флажки в свойствах Обеспечение целостности данных, Каскадное обновление связанных полей и Каскадное обновление связанных записей. Щелкните по кнопке Создать;
- аналогично создайте связи между полем Код дисциплины в таблице Дисциплины и полем Код дисциплины в таблице Преподаватели, а также между полем Код студента в таблице Студенты и полем Код студента в таблице Оценки;
- закройте окно схемы данных, ответив ДА на вопрос о сохранении макета.
Задание 8. Создание форм для ввода данных в таблицы
1. Создайте форму Студенты и заполните данными таблицу Студенты посредством формы Студенты.
2. Создайте форму Дисциплины и заполните данными таблицу Дисциплины посредством формы Дисциплины.
3. Создайте форму Оценки и заполните данными таблицу Оценки посредством формы Оценки.Технология работы:
1. Для создания формы Студенты откройте вкладку Формы, щелкните по кнопке Создать, выберите таблицу Студенты, затем пункт Автоформа: ленточная и щелкните по кнопке ОК.
2. Заполните данными, приведенными в табл. 6, таблицу Студенты посредством формы.Таблица 6
Закройте форму, присвоив ей имя Студенты.
3. Аналогично п. 1 создайте форму Дисциплины и заполните данными, приведенными в табл. 7, таблицу Дисциплины посредством формы. Закройте форму, присвоив ей имя Дисциплины.Таблица 7
4. Аналогично п. 1 создайте форму Оценки и заполните данными, приведенными в табл. 8, таблицу Оценки посредством формы. Закройте форму, присвоив ей имя Оценки.
Таблица 8
Задание 9. Формирование сложных запросов
1. Разработайте запрос с параметрами о студентах заданной группы, в котором при вводе в окно параметров номера группы на экран должен выводиться состав этой группы.
2. Создайте запрос, в котором выводятся оценки студентов заданной группы по заданной дисциплине.
3. Создайте перекрестный запрос, в результате которого создастся выборка, отражающая средний балл по дисциплинам в группах.
4. Разработайте запрос на увеличение (на 10 %) заработной платы тех преподавателей, кто получает менее 600 руб.
5. Создайте запрос на удаление отчисленных студентов.
6. Разработайте запрос на создание базы данных отличников.
7. Для всех созданных вами запросов разработайте формы.Технология работы:
1. Для создания запроса с параметрами о студентах заданной группы:
- откройте вкладку Запросы и щелкните по кнопке Создать;
- в появившемся окне выберите Простой запрос и щелкните по кнопке ОК;
- в появившемся окне в строке Таблицы/Запросы выберите из списка таблицу Студенты;
- перенесите все поля из окна Доступные поля в окно Выбранные поля и щелкните по кнопке Далее;
- выводить надо все поля, поэтому еще раз щелкните по кнопке Далее;
- в появившемся окне введите имя запроса Группа и щелкните по кнопке Готово. На экране появится таблица с данными запроса. Для установления номера группы перейдите в режим конструктора;
- в строке Условия отбора для поля Номер группы введите фразу (скобки тоже вводить) [Введите номер группы];
- выполните запрос (команда Запрос Запуск), в появившемся окне введите 2В и щелкните по кнопке ОК. На экране появится таблица с данными о студентах группы 2В;
- сохраните запрос и закройте таблицу запроса.
2. Для создания запроса, в котором выводятся оценки студентов заданной группы по заданной дисциплине:
- на вкладке Запросы щелкните по кнопке Создать, выберите Простой запрос и щелкните по кнопке ОК;
- выберите таблицу Студенты и перенесите поля Фамилия, Имя, Отчество, Номер группы в окно Выделенные поля;
- в таблице Дисциплины выберите поле Название дисциплины;
- в таблице Оценки выберите поле Оценки. Вы сформировали шесть полей запроса, которые связаны между собой посредством схемы данных;
- щелкните по кнопке Далее, а затем в появившемся окне снова щелкните по кнопке Далее;
- в появившемся окне введите имя запроса Оценки группы, затем щелкните по ячейке Изменение структуры запроса и щелкните по кнопке Готово;
- в строке Условия отбора для поля Номер группы введите фразу [Введите номер группы], а для поля Название дисциплины — [Введите название дисциплины];
- выполните запрос;
- в первом появившемся окне введите 2В, затем щелкните по кнопке ОК, во втором — введите Информатика и щелкните по кнопке ОК. На экране появится таблица со списком группы 2В и оценками по информатике;
- сохраните запрос и закройте таблицу запроса.
3. Для создания перекрестного запроса о среднем балле в группах по дисциплинам сначала сформируйте запрос, в котором были бы поля Номер группы, Название дисциплины и Оценки. Для этого:
- на вкладке Запросы щелкните по кнопке Создать, выберите Простой запрос и щелкните по кнопке ОК;
- выберите из таблицы Студенты поле Номер группы, из таблицы Дисциплины — поле Название дисциплины, из таблицы Оценки — поле Оценки;
- щелкните по кнопке Далее, а затем в появившемся окне снова щелкните по кнопке Далее;
- в появившемся окне введите имя запроса Дисциплины оценки группы и щелкните по кнопке Готово;
- сохраните запрос и закройте таблицу запроса.
Теперь можно создавать перекрестный запрос. Для этого:
- на вкладке Запросы щелкните по кнопке Создать, выберите Перекрестный запрос и щелкните по кнопке ОК;
- щелкните по ячейке Запросы, выберите Дисциплины оценки группы и щелкните по кнопке Далее;
- выберите поле Название дисциплины и щелкните по кнопке Далее;
- выберите поле Номер группы и щелкните по кнопке Далее;
- выберите функцию AVG и щелкните по кнопке Далее;
- выберите название запроса Средние оценки и щелкните по кнопке Готово;
- закройте таблицу запроса.
4. Для создания запроса на изменение заработной платы преподавателей:
- на вкладке Запросы щелкните по кнопке Создать и выберите Простой запрос;
- в таблице Преподаватели выберите поле Зарплата;
- щелкните по кнопке Далее, а затем в появившемся окне снова щелкните по кнопке Далее;
- в появившемся окне введите имя запроса Изменение зарплаты;
- щелкните по ячейке Изменение структуры запроса, затем по кнопке Готово;
- в строке Условия отбора введите 600;
- откройте пункт меню Запрос и выберите Обновление;
- в строке конструктора запроса Обновление в поле Зарплата введите: [Зарплата]*1,1;
- выполните запрос, подтвердив готовность на обновление данных;
- закройте запрос, подтвердив его сохранение;
- откройте форму Преподаватели, просмотрите изменение заработной платы у преподавателей, получающих меньше 600 р., и закройте форму.
5. Для запроса на отчисление студента гр. 2Г Перлова Кирилла Николаевича:
- на вкладке Запросы щелкните по кнопке Создать и выберите Простой запрос;
- в таблице Студенты выберите поля Фамилия, Имя, Отчество, Номер группы;
- щелкните по кнопке Далее, а затем в появившемся окне снова щелкните по кнопке Далее;
- в появившемся окне введите имя запроса Отчисленные студенты;
- щелкните по ячейке Изменение структуры запроса, затем по кнопке Готово;
- в строке Условия отбора введите: в поле Фамилия — Перлов, в поле Имя — Кирилл, в поле Отчество — Николаевич, в поле Номер группы — 2Г;
- откройте пункт меню Запрос и выберите Удаление;
- просмотрите удаляемую запись (команда Вид Режим таблицы);
- если отчисляемый студент выбран правильно, то перейдите в режим конструктора и выполните запрос;
- закройте запрос, откройте форму Студенты (удостоверьтесь в удалении записи о студенте Перлове) и закройте форму.
6. Для создания запроса на создание базы данных отличников:
- на вкладке Запросы щелкните по кнопке Создать и выберите Простой запрос;
- в таблице Студенты выберите поля Фамилия, Имя, Отчество, Номер группы, а в таблице Оценки — поле Оценки;
- щелкните по кнопке Далее, а затем в появившемся окне снова щелкните по кнопке Далее;
- в появившемся окне введите имя запроса Отличники;
- щелкните по ячейке Изменение структуры запроса, затем по кнопке Готово;
- выполните команду Вид Групповые операции, в строке Групповые операции поля Оценки щелкните по ячейке Групповые операции. Откройте раскрывающийся список и выберите функцию SUM;
- в строке Условия отбора поля Оценки введите 20 (отличниками будем считать тех студентов, которые за четыре экзамена набрали 20 баллов);
- просмотрите создаваемую базу (команда Вид Режим таблицы), перейдите в режим конструктора и выполните команду Запрос Создание таблицы;
- введите имя таблицы Студенты-отличники и щелкните по кнопке ОК;
- подтвердите создание таблицы и закройте (с сохранением) запрос;
- откройте вкладку Таблицы, затем таблицу Студенты-отличники. Удостоверьтесь в правильности создания таблицы. Закройте таблицу.
7. Для каждого из созданных запросов создайте форму для удобного просмотра данных (аналогично заданию 2.8).
Задание 10. Создание сложных форм
1. Разработайте сложную форму, в которой с названиями дисциплин была бы связана подчиненная форма Студенты и подчиненная форма Оценки студентов.
2. Измените расположение элементов в форме, оставив место для диаграммы.
3. Вставьте в форму диаграмму, графически отражающую оценки студентов.
4. Отредактируйте вид осей диаграммы.Технология работы:
1. Для создания сложной формы:
- на вкладке Формы щелкните по кнопке Создать, выберите Мастер форм и, не выбирая таблицу или запрос, щелкните по кнопке ОК;
- в таблице Дисциплины выберите поле Название дисциплины;
- в таблице Студенты выберите поля Код студента, Фамилия, Имя, Отчество, Номер группы;
- в таблице Оценки выберите поле Оценки и щелкните по кнопке Далее;
- в появившемся окне оставьте предлагаемый вариант формы и щелкните по кнопке Далее;
- оставьте табличный вариант подчиненной формы и щелкните по кнопке Далее;
- выберите стиль оформления формы и щелкните по кнопке Далее;
- введите название формы Дисциплины и оценки, щелкните по кнопке Готово и просмотрите полученную форму.
2. Для изменения расположения полей на экране перейдите в режим конструктора, стандартными средствами Windows (технология drag-and-drop) измените размеры подчиненной формы так, чтобы были видны все данные. Для этого надо переключаться из режима конструктора в режим формы, смотреть полученный результат и, если он не подходит, снова корректировать в режиме конструктора. Ширину столбцов в подчиненной форме можно изменять только в режиме формы.
3. Для того чтобы вставить в форму диаграмму оценок студентов по заданным дисциплинам, необходимо:
- переключиться в режим конструктора, выполнить команду Вид Панель элементов, на этой панели щелкнуть по кнопке ;
- создать прямоугольник для заголовка диаграммы, ввести надпись Диаграмма оценок и выполнить команду Вставка Диаграмма;
- на свободном месте формы создать прямоугольник для диаграммы, выбрать таблицу Оценки и щелкнуть по кнопке Далее;
- выбрать поля Код студента, Оценки и щелкнуть по кнопке Далее;
- выбрать вид диаграммы Гистограмма (по умолчанию он стоит) и щелкнуть по кнопке Далее;
- дважды щелкнуть по надписи Сумма_Оценки, выбрать Отсутствует, щелкнуть сначала по кнопке ОК, а затем по кнопке Далее;
- вновь щелкнуть по кнопке Далее, так как в строках Поля формы и Поля диаграммы по умолчанию находится Код дисциплины;
- стереть название диаграммы Оценки (надпись для диаграммы уже задана) и щелкнуть по кнопке Далее.
4. Отредактируйте вид осей диаграммы. Для этого:
- дважды щелкните сначала по диаграмме, а затем по значениям вертикальной оси и выберите вкладку Шкала;
- уберите «галочку» у надписи Минимальное значение, а в ячейке справа от этого названия введите 1;
- уберите «галочку» у надписи Максимальное значение, а в ячейке справа от этого названия введите 5;
- уберите «галочку» у надписи Цена основных делений, а в ячейке справа от этого названия введите 1 и щелкните по кнопке ОК;
- расширьте область диаграммы, перетащив правую границу окна диаграммы несколько правее;
- закройте окно Microsoft Graph, выбрав в меню Файл пункт Выход и возврат в дисциплины и оценки: форма;
- перейдите в режим формы, просмотрите ее для разных дисциплин и закройте форму.
Задание 11. Создание сложных отчетов
1. Создайте запрос, на основе которого будет формироваться отчет. В запросе должны присутствовать: из таблицы Студенты — поля Фамилия, Имя, Отчество и Номер группы, из таблицы Дисциплины — поле
Название дисциплины, из таблицы Оценки — поле Оценки.
2. Создайте отчет по итогам сессии. В отчете оценки студентов должны быть сгруппированы по номерам групп и дисциплинам. Для каждого студента должна вычисляться средняя оценка за сессию, а для каждой группы — среднее значение оценок по всем предметам.Технология работы:
1. Для создания запроса:
- на вкладке Запросы щелкните по кнопке Создать, выберите простой запрос и щелкните по кнопке ОК;
- из таблицы Студенты выберите поля Фамилия, Имя, Отчество и Номер группы, из таблицы Дисциплины — поле Название дисциплины, из таблицы Оценки — поле Оценки и щелкните по кнопке Далее;
- щелкните еще раз по кнопке Далее, введите название запроса Сессия , щелкните по кнопке Готово и закройте запрос.
2. Для создания итогового отчета:
- на вкладке Отчеты щелкните по кнопке Создать, выберите Мастер отчетов, из раскрывающегося списка — запрос Сессия и щелкните по кнопке ОК;
- выберите все поля запроса и щелкните по кнопке Далее;
- щелкните еще раз по кнопке Далее, так как тип представления данных нас удовлетворяет;
- добавьте уровень группировки по номеру группы, выбрав в левом окне Номер группы и перенеся его в правое окно;
- щелкните сначала по кнопке Далее, затем по кнопке Итоги (для вычисления среднего балла);
- выберите функцию AVG для вычисления среднего балла и щелкните по кнопке ОК;
- щелкните по кнопке ОК, так как сортировка не требуется;
- выберите ступенчатый макет отчета (он занимает меньше места и в нем наглядно представлены данные) и щелкните по кнопке Далее;
- выберите стиль отчета и щелкните по кнопке Далее;
- введите название отчета Итоги сессии и щелкните по кнопке Готово.
Задание 2.12. Разработка кнопочной формы-меню для работы с базами данных
- Для создания кнопочного меню выполните следующие действия:
- выполните команду Сервис Надстройки Диспетчер кнопочных форм и щелкните по кнопке Да;
- щелкните по кнопке Создать, введите имя Меню и щелкните по кнопке ОК;
- в окне выберите Меню и щелкните по кнопке Изменить;
- создайте элементы данной кнопочной формы, щелкнув по кнопке Создать;
- в строке Текст введите поясняющую надпись к первой создаваемой кнопке — Преподаватели;
- в строке Команда выберите из списка Открытие формы в режиме редактирования;
- в строке Форма выберите из списка форму Преподаватели и щелкните по кнопке ОК;
- введите в меню все созданные формы и отчет;
- закройте окно кнопочной формы (кнопка Закрыть) и щелкните по кнопке По умолчанию;
- закройте диспетчер кнопочных форм, щелкнув по кнопке Закрыть;
- на вкладке Формы щелкните правой кнопкой мыши по надписи Кнопочная форма, выберите пункт Переименовать, введите новое имя Форма-меню и нажмите по кнопке Enter;
- откройте эту форму и просмотрите возможности открытия форм и отчета из меню.
4.7. Лабораторные работы
Лабораторная работа 1. Создание однотабличной базы данных (2 часа)
Порядок выполнения:
1. Ознакомьтесь с теоретическими сведениями (п. 4.1).
2. Выполните практическое задание 1.
3. Выполните практическое задание 2.
4. Выполните практическое задание 3.
5. Оформите отчет, в котором должны быть отражены следующие технологии по созданию однотабличной базы данных:- создание новой базы данных, создание таблицы базы данных, определение полей таблицы, сохранение таблицы;
- заполнение базы данных (ввод ограничения на данные; заполнение таблицы данными; изменение ширины каждого поля таблицы в соответствии с шириной данных; поиск, замена, сортировка и фильтрация данных);
- ввод и просмотр данных посредством формы.
Лабораторная работа 2. Формирование запросов и отчетов для однотабличной базы данных (2 часа)
Порядок выполнения:
1. Ознакомьтесь с теоретическими сведениями (п. 4.2).
2. Выполните практическое задание 4.
3. Выполните практическое задание 5.
4. Оформите отчет, в котором должны быть отражены следующие технологии по формированию запросов и отчетов для однотабличной базы данных:- формирование запросов на выборку (создание простого запроса, сортировка данных запроса, сохранение запроса, создание запроса на выборку с параметром);
- создание отчета с группированием данных по параметру.
Лабораторная работа 3. Разработка инфологической модели и создание структуры реляционной базы данных (2 часа)
Порядок выполнения:
1. Ознакомьтесь с теоретическими сведениями (п. 4.3).
2. Выполните практическое задание 6.
3. Выполните практическое задание 7.
4. Выполните практическое задание 8.
5. Оформите отчет, в котором должны быть отражены следующие технологии:- разработка инфологической модели (выбор объектов, реквизитов и типов связей между объектами);
- создание структуры реляционной базы данных и разработка схемы данных;
- создание форм для ввода данных в таблицы.
Лабораторная работа 4. Формирование сложных запросов (2 часа)
Порядок выполнения:
1. Ознакомьтесь с теоретическими сведениями (п. 4.4).
2. Выполните практическое задание 9.
3. Оформите отчет, в котором должны быть отражены основные технологии по формированию сложных запросов: разработка запроса с параметрами; создание запроса для полей одной таблицы по заданному полю другой; создание перекрестного запроса с выполнением статистических расчетов для выборки; разработка запроса на обновление записей одной или нескольких таблиц; создание запроса на удаление отдельных полей таблицы; разработка запроса на создание новой таблицы на основе всех или части данных из одной или нескольких таблиц; разработка форм для созданных запросов.Лабораторная работа 5. Создание сложных форм и отчетов (2 часа)
Порядок выполнения:
1. Ознакомьтесь с теоретическими сведениями (п. 4.5).
2. Выполните практическое задание 10.
3. Выполните практическое задание 11.
4. Выполните практическое задание 12.
5. Оформите отчет, в котором должны быть отражены следующие технологии:- создание сложной формы (разработка формы, изменение расположения элементов в форме, вставка в форму диаграммы для графического отображения информации, редактирование вида осей диаграммы);
- создание сложных отчетов (создание запроса, на основе которого формируется отчет; создание итогового отчета с помощью Мастера отчетов);
- разработка кнопочной формы-меню для работы с базами данных.
Уроки по Access
Журнальный вариант статьи: Информатика и образование, 2000, № 7. с. 18-29.
Введение
Системы управления базами данных (СУБД) являются едва ли не самым распространенным видом программного обеспечения. СУБД имеют более чем тридцатилетнюю историю развития с сохранением преемственности и устойчивых традиций. Идеологическая ценность СУБД объясняется тем, что в основе программ такого рода лежит концепция модели данных, то есть некоторой абстракции представления данных. В большинстве случаев предполагается, что данные представлены в виде файлов, состоящих из записей. Структура всех записей в файлах одинакова, а количество записей в файле является переменным. Элементы данных, из которых состоит каждая запись, называются полями. Поскольку во всех записях имеются одни и те же поля (с разными значениями), полям удобно давать уникальные имена. Многие практически важные случаи хорошо укладываются в такое представление данных. Например, в отделе кадров информация о сотрудниках имеют такую природу. Сотрудников принимают на работу и увольняют, но форма личного листа по учету кадров остается неизменной для каждого сотрудника. Товарно-материальные ценности приходят и уходят, но форма инвентарной карточки остается неизменной. Число примеров без труда можно множить. Ясно, что СУБД является адекватным средством во всех случаях, когда исходную информацию можно представить в виде таблицы постоянной структуры, но неопределенной длины или в виде картотеки, содержащей неопределенное количество карточек постоянной структуры.
Все СУБД поддерживают в той или иной форме четыре основных операции:
- добавить в базу данных одну или несколько записей;
- удалить из базы данных одну или несколько записей;
- найти в базе данных одну или несколько записей, удовлетворяющих заданному условию;
- обновить в базе данных значение некоторых полей.
Большинство СУБД поддерживают, кроме того, механизм связей между различными файлами, входящих в базу. Например, связь может установиться явным образом, когда значением некоторых полей является ссылка на другой файл, такие СУБД называются сетевыми , или же связь может установиться неявным образом, например, по совпадению значений полей в различных файлах. Такие СУБД называются реляционными.
MS Access является СУБД реляционного типа, в которой разумно сбалансированы все средства и возможности, типичных для современных СУБД. Реляционная база упрощает поиск, анализ, поддержку и защиту данных, поскольку они сохраняются в одном месте. Access в переводе с английского означает «доступ». MS Access это функционально полная реляционная СУБД. Кроме того, MS Access одна из самых мощных, гибких и простых в использовании СУБД. В ней можно создавать большинство приложений, не написав ни единой строки программы, но если нужно создать нечто очень сложное, то на этот случай MS Access предоставляет мощный язык программирования Visual Basic for Application.
Популярность СУБД Microsoft Access обусловлена следующими причинами:
- доступность в изучении и понятность позволяют Access являться одной из лучших систем быстрого создания приложений управления базами данных;
- СУБД полностью русифицирована;
- возможность использования OLE технологии;
- интегрированность с пакетами Microsoft Office;
- поддержка WWW-идеологии;
- визуальная технология позволяет постоянно видеть результаты своих действий и корректировать их; кроме того, работа с конструктором форм может существенно облегчить дальнейшее изучение таких систем программирования, как Visual Basic или Delphi;
- широко и наглядно представлена справочная система;
- наличие большого набора «мастеров» по разработке объектов.
Запустить систему Access можно несколькими способами:
- запуск с помощью главного меню в WINDOWS;
- запуск с помощью ярлыка на рабочем столе или панели MS Office;
- открытие какой-либо базы данных автоматически запускает Access.
При наличии вопросов о Microsoft Access прежде всего необходимо попытаться найти ответы на них в документации или в справочной системе.
В этой работе мы предлагаем набор заданий, которые позволят освоить основные приемы работы с СУБД Access. Помогать при работе с СУБД Access могут карточки подсказки. Они предназначены для обучения непосредственно в процессе работы с Microsoft Access и после открытия базы данных будут постоянно сопровождать любые действия пользователя.
Занятие 1
Создание базы данных. Ввод и форматирование данных- Загрузите систему WINDOWS. Загрузите СУБД ACCESS. Появятся выплывающие карточки-подсказки. Сверните их. Если вам понадобится подсказка, то в любой момент вы можете вызвать карточки в меню Справка или соответствующей кнопкой на панели инструментов.
- Сначала нужно создать новую базу данных.
- Выполним следующую последовательность действий: в меню Файл выберем команду Создать . Имя файла: skaz.mdb. OK . Перед вами появилось диалоговое окно «База данных» .
- Внимательно прочитайте назначение кнопок на панели инструментов, медленно перемещая курсор мыши по кнопкам.
- После этого создайте таблицу, выполнив следующую последовательность действий: Таблица/Создать/Новая таблица .
Создание таблицы, то есть определение входящих в таблицу полей, производится заполнением специальной таблицы:Поле Тип данных Описание - Заполните такую таблицу, внеся в нее следующие данные:
Занятие 2
Редактирование базы данных- Откройте таблицу «Персонаж» и добавьте в конец таблицы следующие записи:
Занятие 3
Поиск данных по условиюСледующее задание, которое мы вам предлагаем, можно выполнить различными способами.
Способ первый. Вы создаете запрос по каждому из вопросов, которые предлагаются, и сохраняете его в виде таблицы. Для создания запроса выполните следующие действия: Запрос Создать Новый запрос Таблица/ запрос Класс Добавить. Закрыть . После этого ввести условия запроса.
Способ второй. Таблица Класс Открыть . На панели инструментов нажмите кнопку Изменить фильтр , и с помощью построителя выражений введите условия запроса. Затем на панели инструментов Запроса нажмите кнопку Применить фильтр . В результате на экране появится динамический набор записей, удовлетворяющих введенному условию. Но при дальнейших манипуляциях этот набор не сохранится. Если вы хотите сохранить данный набор записей, то выполните следующие действия. В окне Фильтра откройте меню Файл и выберите команду Сохранить как запрос .
Способ третий. В режиме таблиц выведите курсор мыши за пределы таблицы и нажмите правую мыши. В контекстном меню выберите команду Изменить фильтр . Все остальные действия точно такие же, как во втором способе.
Для того чтобы ответить на все предлагаемые вопросы, необходимо знать операторы задания шаблонов. Приведем несколько примеров.
Примеры использования символов задания шаблонов
Использование символов Образец Поиск в Microsoft Access Вопросительный знак (?);
в качестве шаблона для любого символа.За?ор Забор
ЗаторЗвездочка (*);
в качестве шаблона для любой группы символов.Д*нь День
Добрый день
Длинная теньЗвездочка (*);
в качестве шаблона для любой группы начальных символов.*й 128й
ПоследнийЗнак фунта (#);
в качестве шаблона для любой цифры.#-й 5-й
8-йВосклицательный знак (!) после первой скобки;
для поиска символа, который не входит в указанный набор символов.Иванов[!аы] Иванову
[но не Иванова или Ивановы]
Примеры условных выражений
В базе данных skaz.mbd откройте новую таблицу «Класс» и внесите в нее следующие поля.Поле Тип данных Описание № Счетчик Фамилия Текстовый Имя Текстовый Дата Дата Дата рождения Пол (м) Логический Пол мужской? Улица Текстовый Дом Числовой Квартира Числовой Класс Числовой Группа Текстовый Группа здоровья по физкультуре Хобби Текстовый Глаза Текстовый Цвет глаз Ответьте на вопросы
- Кто учится в 8 классе?
- Кто родился в 1984 году?
- Кто живет на улице Пушкина?
- У кого номер дома меньше 50?
- У кого мужские имена?
- Кто родился весной?
- У кого фамилия начинается на букву С?
- Кто является одиннадцатиклассником?
- Кто не занимается тяжелой атлетикой?
- У кого сегодня день рождения?
- У кого номер квартиры меньше 12?
- Кто не определил свое хобби?
- Кто родился до 01.01.85?
- Кто живет на улице Пушкина, Леонова или Свиязева?
- У кого фамилия начинается с букв А-К?
- Кто является однофамильцами с Сухановым Сергеем?
- Кто увлекается аэробикой и лыжами?
- Кто из мальчиков живет на улице Чердынской?
- У кого имена начинаются на букву С, а фамилия на букву П?
- У кого карие глаза и этот человек не умеет вязать?
- Кто учится в старших классах?
- У кого из специальной группы женское имя?
- Кто не живет на улице Ленина и не занимается в подготовительной группе?
- Кто из мальчиков с голубыми глазами занимается каратэ?
- У кого номер класса кратен 3, и он живет на улице Пушкина или Ленина?
- Кто с серыми глазами учится в классе с нечетным номером, или число в дате его рождения больше 15?
- У кого номер класса простое число, или специальная группа, и его имя начинается на Н?
- Кто из основной группы не живет на улице Пушкина или Ленина?
- У кого из девочек, родившихся в мае или в феврале, номер дома больше 36?
- У кого из основной группы имя начинается на буквы С или М, но фамилия не начинается на букву П?
Занятие 4
Работа с помощью мастера- Создайте в новом файле таблицу «Класс» с помощью Мастера таблиц .
Для этого откройте корешок Таблица и выполните следующие действия: Создать Мастер . На экране появится окно мастера таблиц. Внимательно просмотрите примеры таблиц и полей, предлагаемых мастером. - Выберите поля, необходимые для нашей таблицы «Класс» . Недостающие поля можно будет добавить с помощью Конструктора таблиц .
- Выполните все действия, которые вам предлагает сделать мастер.
- Дайте новой таблице имя «Класс» .
- Заполните таблицу и выполните задания, которые мы вам предлагали на предыдущем занятии.
- С помощью мастера создайте Запрос положительных героев в таблице «Персонаж» .
- С помощью мастера создайте Запрос отрицательных героев в этой же таблице.
- С помощью мастера самостоятельно создайте Форму для таблицы «Класс» .
- Создайте различные типы форм и дайте им различные имена.
- С помощью мастера создайте Отчет для таблицы «Класс» , также попробуйте сделать различные виды отчетов.
Занятие 5
Работа со связанными таблицами- Создадим базу данных, которая будет хранить результаты экзаменов студентов одной группы за один семестр. Можно обойтись и одной таблицей, в которую включить поля «Фамилия», «Имя», «Дисциплина», «Преподаватель», «Оценка». Но в таком случае многие данные будут повторяться, т.к. каждый студент сдает несколько экзаменов, и каждый экзамен сдают многие студенты.
- Поэтому создадим три таблицы «Студенты», «Предметы», «Оценки» и заполним их. В первых двух таблицах первое поле имеет целый тип, а остальные текстовый тип. В третьей таблице поля имеют числовой тип.
Таблица «Предметы»
Код предмета Название Преподаватель 1 Программирование Половина 2 Психология Сивак 3 Статистика Полыгалова 4 Информационные системы Клигман Код студента Фамилия Имя 1 Антонова Марина 2 Бирих Яков 3 Волков Константин 4 Волошина Светлана 5 Кашина Наталья 6 Ленц Алексей 7 Матвеев Роман 8 Наумова Татьяна 9 Юдинцева Оксана Код оценки Код студента Код предмета Оценка 1 1 1 5 Студент Предмет Оценка Антонова Марина Информационные системы 5 Бирих Яков Информационные системы 4 Волков Константин Информационные системы 5 Волошина Светлана Информационные системы 5 Антонова Марина Психология 5 Бирих Яков Психология 5 Волков Константин Психология 4 Волошина Светлана Психология 5 
- Заполните таблицу «Оценки».
- Рассчитайте средний балл каждого студента. Для этого поместите в конструктор запросов таблицы «Студенты» и «Оценки». Выберите поле «Студент», а вместо «Оценка» введите «6-Оценка». Это необходимо, т.к. отличной оценке соответствует 1, хорошей 2 и т.д. Найдите на панели инструментов кнопку «Групповые операции» и нажмите ее. Примените групповую операцию «среднее» Avg. Access автоматически присвоило построенному выражению имя «Выражение-1». Измените его на «Средний балл».
- Выведите список студентов, сдавших экзамены на оценки «хорошо» и «отлично». Для этого проделайте те же операции, что и в предыдущем пункте, но в качестве групповой операции выберите Min нахождение минимума и задайте условие на отбор >3. Снимите флажок вывода столбца минимальной оценки на экран.
- Сохраните результаты работы в файле students.mdb.
Занятие 6
Дополнительные возможности Access
- Откройте базу данных students.mdb.
- Создадим удобную форму для ввода информации. Для этого вызовите мастера форм и задайте следующие поля:
из таблицы «Оценки» Предмет, Оценка;
из таблицы «Студенты» Фамилия, Имя;
из таблицы «Предметы» Преподаватель. - Выберите представление данных по студентам, с использованием подчиненной формы.
- Откройте подчиненную форму и примените сортировку по возрастанию для предметов.

- Щелкните все кнопки, которые хотите выделить, по очереди, удерживая клавишу Shift.
- Используйте «лассо». Нажмите кнопку мыши и, не отпуская ее, растяните рамку вокруг всех кнопок.

Занятие 7
Зачётное задание
- Создайте базу данных «Книжная энциклопедия», содержащую сведения о произведениях различных писателей. Учтите, что у одного автора может быть много произведений. Продумайте схему данных, создайте таблицы и заполните базу данных следующей информацией:
| Автор | Название | Год издания | Худож? | Издательство |
|---|---|---|---|---|
| Гамильтон, Э. | Возвращение к звездам | 1992 | Да | «Селена» |
| Гамильтон, Э. | Оружие извне | 1995 | Да | «Армада» |
| Уильямсон, Д. | Звездный легион | 1994 | Да | «Армада» |
| Шарф, Д. | Основы HTML | 1997 | Нет | «Питер» |
| Сборник | Лучшие игры для IBM | 1994 | Нет | «Питер» |
| Сборник | Java: 1001 совет | 1998 | Нет | «Попурри» |
| Пономаренко, С. | Adobe Photoshop 3.0 | 1995 | Нет | BHV |
| Пономаренко, С. | Corel Draw 5.0 | 1995 | Нет | BHV |
| Сборник | Delphi 2 в примерах | 1996 | Нет | BHV |
Почему в аксесс код начинается с 2
Запросы на выборку в Access
В простейшем случае запрос реализует выбор из одной таблицы нужных полей, записей, соответствующих заданным условиям отбора, и просмотр результатов выполнения запроса.
Конструирование запросов на выборку с условиями отбора
Рассмотрим запросы на выборку в Access на примере получения информации из таблицы ТОВАР базы данных Поставка товаров.
Задача 1. Пусть необходимо выбрать ряд характеристик товара по его наименованию.
- Для создания запроса в окне базы данных выберите вкладку ленты — Создание (Create) и в группе Запросы (Queries) нажмите кнопку Конструктор запросов (Query Design). Откроется пустое окно запроса на выборку в режиме конструктора — ЗапросN (QueryN) и диалоговое окно Добавление таблицы (Show Table) (рис. 4.2).
- В окне Добавление таблицы (Show Table) выберите таблицу ТОВАР и нажмите кнопку Добавить (Add). Выбранная таблица будет отображена в области схемы данных запроса. Закройте окно Добавление таблицы (Show Table), нажав кнопку Закрыть (Close).
В результате выполненных действий в окне конструктора запросов (рис. 4.1) в верхней панели появится схема данных запроса, которая включает выбранные для данного запроса таблицы. В данном случае одну таблицу ТОВАР. Таблица представлена списком полей. Первая строка в списке полей таблицы, отмеченная звездочкой (*), обозначает все множество полей таблицы. Нижняя панель является бланком запроса, который нужно заполнить.

Кроме того, на ленте появляется и автоматически активизируется новая вкладка Работа с запросами | Конструктор (Query Tools | Design) (на рис. 4.3 представлена на часть этой вкладки), на которой цветом выделен тип созданного запроса — Выборка (Select). Таким образом, по умолчанию всегда создается запрос на выборку. Команды этой вкладки представляют инструментарий для выполнения необходимых действий при создании запроса. Эта вкладка открывается, когда в режиме конструктора создается новый запрос или редактируется существующий.

- Для удаления любой таблицы из схемы данных запроса установите на нее курсор мыши и нажмите клавишу . Для добавления ― нажмите кнопку Отобразить таблицу ( Show Table) в группе Настройка запроса (Query Setup) на вкладке Работа с запросами | Конструктор (Query Tools | Design) или выполните команду Добавить таблицу (Show Table) в контекстном меню, вызываемом на схеме данных запроса.
- В окне конструктора (рис. 4.4) последовательно перетащите из списка полей таблицы ТОВАР поля НАИМ_ТОВ, ЦЕНА, НАЛИЧИЕ_ТОВ в столбцы бланка запроса в строку Поле (Field).
- Для включения нужных полей из таблицы в соответствующие столбцы запроса можно воспользоваться следующими приемами:
- в первой строке бланка запроса Поле (Field) щелчком мыши вызвать появление кнопки списка и выбрать из списка нужное поле. Список содержит поля таблиц, представленных в схеме данных запроса;
- дважды щелкнуть на имени поля таблицы в схеме данных запроса;
- для включения всех полей таблицы можно перетащить или дважды щелкнуть на символе * (звездочка) в списке полей таблицы в схеме данных запроса.
- Если вы по ошибке перетащили в бланке запроса ненужное поле, удалите его. Для этого переместите курсор в область маркировки столбца сверху, где он примет вид черной стрелки, направленной вниз, и щелкните кнопкой мыши. Столбец выделится. Нажмите клавишу или выполните команду Удалить столбцы (Delete Columns) в группе Настройка запроса (Query Setup).
- В строке Вывод на экран (Show) отметьте поля, иначе они не будут включены в таблицу запроса.
- Запишите в строке Условия отбора (Criteria) наименование товара, как показа-но в бланке запроса на рис. 4.4. Так как выражение в условии отбора не содержит оператора, то по умолчанию используется оператор =. Используемое в выражении текстовое значение вводится в двойных кавычках, которые добавляются автоматически.
- Выполните запрос, щелкнув на кнопке Выполнить (Run) или на кнопке Режим (View) в группе Результаты (Results). На экране появится окно запроса в режиме таблицы с записью из таблицы ТОВАР, отвечающей заданным условиям отбора.

ЗАМЕЧАНИЕ
Окно запроса в режиме таблицы аналогично окну просмотра таблицы базы данных. Через некоторые таблицы запроса может производиться изменение данных базовой таблицы, лежащей в основе запроса. Запрос, просматриваемый в режиме таблицы, в отличие от таблицы базы данных Access 2010, не имеет столбца Щелкнуть для добавления (Click to Add), предназначенного для изменения структуры таблицы. В этом режиме на вкладке ленты Главная (Home) доступны те же кнопки, что и при открытии таблицы базы данных.
- Если при вводе сложного наименования товара вы допустили неточность, товар не будет найден в таблице. Использование операторов шаблона — звездочка (*) и вопросительный знак (?) (стандарт ANSI-89, используемый для запросов по умолчанию) или знак процента (%) и подчеркивания (_) (ANSI-92, рекомендуемый как стандарт для SQL Server), упрощает поиск нужных строк и позволяет избежать многих ошибок. Введите вместо полного имени товара Корпус* или Корпус%. Выполните запрос. Если в поле наименования товара одно значение начинается со слова «Корпус», результат выполнения запроса будет таким же, как в предыдущем случае. После выполнения запроса введенное выражение будет дополнено оператором Like «Корпус*». Этот оператор позволяет использовать символы шаблона при поиске в текстовых полях.
- Если необходимо найти несколько товаров, используйте оператор In. Он позволяет выполнить проверку на равенство любому значению из списка, который задается в круглых скобках. Запишите в строке условий отбора In («Корпуc MiniTower»;»HDD Maxtor 20GB»;»FDD 3,5″). В таблице запроса будет выведено три строки. В операторе In не допускается использование символов шаблона.
Задача 2. Пусть надо выбрать товары, цена которых не более 1000 руб., и НДС не более 10%, а также выбрать товары, цена которых более 2500 руб. Результат должен содержать наименование товара (НАИМ_ТОВ), его цену (ЦЕНА) и НДС (СТАВКА_НДС).
- Создайте новый запрос в режиме конструктора, добавьте таблицу ТОВАР. В окне конструктора (рис. 4.5) последовательно перетащите из списка полей таблицы ТОВАР в бланк запроса поля НАИМ_ТОВ, ЦЕНА, СТАВКА_НДС.
- Запишите Условия отбора (Criteria), как показано в бланке запроса на рис. 4.5. Между условиями, записанными в одной строке, выполняется логическая операция AND. Между условиями, записанными в разных строках, выполняется логическая операция OR.
- Выполните запрос, щелкните на кнопке Выполнить (Run) в группе Результаты (Results). На экране появится окно запроса в режиме таблицы с записями из таблицы ТОВАР, отвечающими заданным условиям отбора.
- Сохраните запрос, выполнив соответствующую команду в контекстном меню запроса, которое вызывается при установке курсора на заголовок запроса. Дайте ему имя Пример2.

Задача 3. Пусть надо выбрать все накладные за заданный период. Результат должен содержать номер накладной (НОМ_НАК), код склада (КОД_СК), дату отгрузки (ДАТА_ОТГР) и общую стоимость отгруженного товара (СУММА_НАКЛ).
- Создайте новый запрос в режиме конструктора, добавьте таблицу НАКЛАДНАЯ. В окне конструктора последовательно перетащите из списка полей таблицы НАКЛАДНАЯ в бланк запроса все необходимые поля.
- Для поля ДАТА_ОТГР в строке Условия отбора (Criteria) запишите Between #11.01.2008# And #31.03.2008#. Оператор Between задает интервал дат (в ANSI-92 вместо знака # используются одинарные кавычки ‘). Кроме того, этот оператор позволяет задать интервал для числового значения.
Для закрепления смотрим видеоурок:
Вычисляемые поля в запросах Access далее.