
- •Часть 2. Лабораторный практикум
- •Лабораторная работа № 1 Знакомство с системой управления базами данных Microsoft Access. (8 часов).
- •1.1 Цель работы
- •1.2 Необходимые краткие сведения
- •1.3 Порядок выполнения работы
- •1.4 Контрольные вопросы
- •1.5 Литература
- •2.3 Порядок выполнения работы
- •2.4 Индивидуальные задания
- •2.5 Контрольные вопросы
- •2.6 Литература
- •2.7 Приложение (маска ввода)
- •Лабораторная работа № 3
- •3.2.2 Отчеты
- •3.3 Порядок выполнения работы
- •3.4 Контрольные вопросы
- •3.5 Литература
- •4.2.2 Панели инструментов
- •4.2.3 Запуск базы данных
- •4.3 Порядок выполнения работы
- •4.4 Контрольные вопросы
- •4.5 Литература
2.7 Приложение (маска ввода)
Свойство Маска ввода (Input Mask) целесообразно применять при вводе данных в пустые графы, а также при отображении символьных констант. Использование свойства Маска ввода обеспечивает сохранение информации в заданном формате.
Например, если в базе данных необходимо хранить информацию о номерах телефона клиентов фирмы, то для ввода данных будет удобна маска: (999) 000-0000. Она обеспечивает наличие скобок и дефиса в содержимом поля. Три цифры 9 определяют наличие необязательной информации о коде города, а семь 0 — обязательную информацию о телефоне клиента. По умолчанию в памяти компьютера сохраняются только введенные посредством маски символы.
Все отображаемые знаки маски (такие как скобки и дефис в телефонном номере) выводятся на экран и печать, но не сохраняются в таблице, что экономит место на диске.
Маска может состоять из двух частей, разделенных точкой с запятой. Если за маской следует символ 0 (например, (999)000-0000;0), то знаки маски (скобки и дефис) сохраняются в таблице. Цифра 1 указывает на режим работы по умолчанию. За 1 или 0 следует необязательная часть маски, которая определяет, каким символом заполняются пустые позиции. По умолчанию используется знак подчеркивания "_", но пользователь может выбрать и другой символ.
Если для поля таблицы заданы два свойства: Формат и Маска ввода, одновременно, то Access будет применять свойство Маска ввода при добавлении и редактировании данных, а свойство Формат - при отображении.
Используемые при создании масок символы перечислены в таблице 11.
Таблица 11
№ п/п |
Символ маски |
Действие, соответствующее символу |
1 |
0 |
Только цифры от 0 до 9, ввод обязателен |
2 |
9 |
Цифры и знак пробела, ввод не обязателен |
3 |
# |
Цифра или знак пробела, а также знаки плюс или минус |
4 |
L |
Буквы, ввод обязателен |
5 |
? |
Буквы, ввод не обязателен |
6 |
A |
Любая буква или цифра, ввод обязателен |
7 |
a |
Любая буква или цифра, ввод не обязателен |
8 |
& |
Любой символ или знак пробела, ввод обязателен |
9 |
C |
Любой символ или знак пробела, ввод не обязателен |
10 |
. |
Десятичный разделитель |
11 |
, |
Разделитель групп разряда |
12 |
:; -/ |
Разделители даты и времени |
13 |
< |
Перевод в нижний регистр |
14 |
> |
Перевод в верхний регистр |
15 |
! |
Символы вводятся справа налево (используется, когда символы слева не обязательны) |
16 |
\ |
Выводит следующий за ним символ, даже если это элемент маски |
17 |
"Password" |
Выводит на экран звездочки вместо введенных символов |
Лабораторная работа № 3
Создание запросов и отчетов, в том числе с использованием SQL (10 часов).
3.1 Цель работы
Приобретение практических навыков создания БД: запросов и отчетов в среде СУБД MS Access. Закрепление навыков в формировании условий отбора, в том числе через построители выражений.
3.2 Необходимые краткие сведения
3.2.1 Запросы
Запрос - это требование на получение определенной информации из БД. Действия, необходимые для извлечения нужных сведений из БД, составляют содержание обработки запросов. В MS Access для создания запросов используется язык QBE (Query-By-Example – язык запросов по образцу), который в свою очередь основан на языке SQL и на применении визуальных шаблонов при формировании команд SQL.
При выполнении действий запроса Access конструирует эквивалентный оператор языка SQL, который можно просмотреть, отредактировать и затем выполнить в новой редакции. Изменения, внесенные в запрос в режиме SQL, отражаются в бланке запроса конструктора.
Существуют различные типы запросов:
Запросы на выборку содержат набор критериев для выборки необходимых данных из одной или нескольких таблиц.
Запросы с обобщением предусматривают выполнение вычислений над данными, например, суммы, среднего значения для некоторой группы записей.
Запросы с параметрами позволяют ввести в диалоговом окне один или несколько конкретных значений параметров запроса.
Перекрестные запросы предназначены для выполнения статистических вычислений в больших объемах данных и представления их в формате электронной таблицы.
Активные запросы (запросы на изменение) служат для внесения изменений во множество записей. Изменения заключаются в удалении, добавлении, обновлении записей таблиц, а также в создании новых таблиц.
Специальные запросы, которые могут быть созданы и оптимизированы только с помощью инструкций SQL в режиме SQL.
Данные для формирования запросов могут извлекаться из одной или нескольких таблиц. Если в основе запроса лежат несколько таблиц, то их следует связать одна с другой. Существующий запрос можно в дальнейшем использовать в качестве основы при создании нового запроса.
Простые запросы в MS Access могут быть созданы с помощью Мастера запросов (кнопки Запросы, Создать окна базы данных, опция Простой запрос диалогового окна Новый запрос). При запуске программа Мастера задает пользователю несколько вопросов о содержании и стиле создаваемого запроса и далее генерирует программу и результат запроса. Созданный Мастером запрос может быть сохранен и при необходимости доработан в Конструкторе запросов.
Более сложные запросы создаются в режиме Конструктора запросов (команда Конструктор диалогового окна Новый запрос). Окно Конструктора запросов состоит из двух частей: в верхней области отображаются списки полей таблиц и запросов, в нижней определяется макет запроса. Для реализации запроса с параметрами и ввода в диалоговом окне условия отбора используется форма записи в режиме QBE.
На рис.31 показан пример создания запроса выборки с помощью Конструктора запросов. Содержание запроса заключается в выборке из таблицы «Товар» Мониторов, у которых страна производитель-Россия и стоимость не превышает 10 000 руб. При создании запроса в его бланк методом drag and drop из таблиц переносятся нужные поля, а в строку Условия отбора вносятся нужные ограничения.
Рис.31 Окно режима запроса на выборку.
В случае сложного отбора, соответствующие операции AND, записываются на одной строке, а операции OR – на следующей строке. На рис.32.а демонстрируются результаты запроса, а на рис.32.б – результаты самого запроса.
На рис.33 приведен запрос сгенерированный на языке SQL, который доступен для редактирования. Доступ к окну с инструкцией SQL-запроса может быть осуществлен кнопкой Вид панели инструментов Конструктор запросов, команда Режим SQL. Здесь хорошо видна структура SQL-запроса: из таблицы Товар вывести атрибут Тип и отфильтровать по атрибутам [Дата производства] из таблицы Товар с условием: ([Дата производства] 01.08.2010) < AND ([Дата производства] < 01.11.2010) Or ([Дата производства] < 01.04.2010).
а. б.
Рис.32 Окно режима запроса на выборку для диапазона параметров
Рис.33 Окно запроса на выборку для диапазона параметров на языке SQL
сгенерированный СУБД MS Access
Рис.34 Окно построения выражения для запроса на выборку
Для задания операторов сравнения в строке Условия отбора Конструктора следует использовать кнопку Построить панели инструментов Конструктора запросов (рис.34). Здесь условия отбора те же, что и для рис.33.
При построении запроса на выборку с параметром воспользуйтесь правилом ввода в ячейку строки Условия отбора текста приглашения, заключенного в квадратные скобки. Например, для поля, в котором отображается текущее количество товаров на складе “ < [Остаток товара на складе]”. Здесь в кавычках условие и в скобках название условия, которое затем при вызове запроса требуется ввести, например некое число. В результате получим следующий вид запроса рис.35.
Рис.35 Окно построения запроса на выборку с параметром
Для сложного, составного, запроса для каждого поля, которое предполагается использовать как параметр, введите в ячейку строки Условие отбора выражение с текстом приглашения, заключенным в квадратные скобки.
Например, для поля, в котором отображаются даты, чтобы задать границы диапазона значений, можно ввести приглашения следующего вида:
Between [Введите начальную дату:] And [Введите конечную дату:].
Чтобы запросить у пользователя один или несколько знаков для поиска записей, которые начинаются с этих знаков или содержат их, создайте запрос с параметрами, использующий оператор LIKE и подстановочный знак (*).
Например, следующее выражение выполняет поиск слов, начинающихся с указанной буквы:
LIKE [Введите первую букву выражения: ] & "*".
Следующее выражение выполняет поиск слов, содержащих указанный знак:
LIKE "*" & [Введите искомый символ: ] & "*".
При построении запроса с обобщением необходимо выбрать групповую операцию (клик правой кнопкой мыши на строке Условие отбора) в столбцах требующих обобщения, отбора одинаковых свойств по столбцам (рис.36 а).
Если надо подсчитать число одноименных позиций используют групповую операцию Count.
Для расчета суммы используется групповая операция Выражение (рис.36 б), для которого с помощью построителя выражения и функции Sum, рассчитывается общая сумма (рис.36 в).
а. б.
в. г.
Рис.36 Окно построения запроса с группировкой и обобщением
На рис.36 г дан результат выполнения запроса: проведена группировка по типам товара, подсчитано количество заказанного товара каждого типа и его общая стоимость.
Для создания перекрестного запроса целесообразно использовать режим Мастера. Последовательность выполнения запроса дана на рис.37. При необходимости использования режима Конструктор следуйте указаниям справочной системы MS Access.
Рис.37 Окно построения перекрестного запроса
В Конструктор помимо выбора полей группировки требуется выбрать поле, по которому будет проводится обобщение, используя функцию Значение и вид группировки, например, Count. Для столбца группировки в строке Поле необходимо построить выражение, в соответствии с которым будет проводится группировка.
Для построения запроса на Удаление, Добавление или Обновление постройте в Конструкторе сначала обычный запрос, а затем выберите Тип запроса в соответствии с рис.38.
Рис.38 Окно построения запроса на изменение и его SQL-вид
Для простых случаев обработки таблиц вместо создания запроса можно использовать Фильтры, однако запросы являются более гибким и мощным средством получения необходимых данных. Созданные и сохраненные запросы отображаются в разделе Запросы окна базы данных для использования и редактирования.
Более подробные сведения о создании запросов можно получить в рекомендуемой литературе. С примерами запросов можно ознакомиться также в БД «Борей».