Как в запросе аксесс сделать нумерацию записей
Перейти к содержимому

Как в запросе аксесс сделать нумерацию записей

  • автор:

Access. Для нумерации записей в таблице используется поле Счетчик

Word. Способы принудительного перехода на новую страницу:

Word. Чтобы разбить одну ячейку на несколько столбцов нужно: в меню таблица выбрать команду Добавить таблицу

В какой строке правильно записан адрес электронной почты?

Доступ к информации – это Ознакомление с информацией, ее обработка, в частности, копирование модификация или уничтожение информации.

Если на экране нет горизонтальной полосы прокрутки, необходимо: Выполнить команду Сервис — Параметры — Вид и установите соответствующий флажок

Маска ввода в таблицах Access определяет формат ввода данных в поле с помощью специальных знаков и символов.

Материальная форма информации — это сообщение

Основная функция базы данных в Excel – это

Основная характеристика монитора — это: Диагональ, Размер пикселя, Время отклика, Угол обзора, Яркость, Контрастность, Цветопередача

Сколько возможных десятичных чисел вместе с нулем можно записать в байте? 256

Примеры условий запроса

Используя условия запроса, вы можете находить в базе данных Access определенные элементы. Если элемент соответствует всем введенным условиям, он отобразится в результатах запроса.

Чтобы добавить условие в запрос Access, откройте этот запрос в конструкторе. Затем определите поля (столбцы), на которые распространяется данное условие. Если нужное поле в бланке запроса отсутствует, добавьте его с помощью двойного щелчка. Затем в строке Условия введите для него условие. Дополнительные сведения см. в статье Общие сведения о запросах.

Условие запроса — это выражение, которое Access сравнивает со значениями в полях запроса, чтобы определить, следует ли включать в результат записи, содержащие то или иное значение. Например, = «Воронеж» — это выражение, которое Access сравнивает со значениями в текстовом поле запроса. Если значение этого поля в определенной записи равно «Воронеж», Access включает ее в результаты запроса.

Рассмотрим несколько примеров часто используемых условий, на основе которых вы можете создавать собственные условия. Примеры группируются по типам данных.

В этом разделе

  • Общие сведения об условиях запроса
  • Условия для текстовых полей, полей Memo и полей гиперссылок
  • Условия для числовых полей, полей с денежными значениями и полей счетчиков
  • Условия для полей «Дата/время»
  • Условия для полей «Да/Нет»
  • Условия для других полей

Общие сведения об условиях запроса

Условие похоже на формулу — это строка, которая может включать ссылки на поля, операторы и константы. В Access условия запроса также называются выражениями.

В следующей таблице показаны примеры условий и описано, как они работают.

Это условие применяется к числовому полю, такому как «Цена» или «ЕдиницНаСкладе». Оно позволяет вывести только те записи, в которых поле «Цена» или «ЕдиницНаСкладе» содержит значение больше 25 и меньше 50.

DateDiff («гггг», [ДатаРождения], Date()) > 30

Это условие применяется к полю «Дата/время», такому как «ДатаРождения». В результаты запроса включаются только записи, в которых количество лет между датой рождения человека и текущей датой больше 30.

Это условие можно применять к полям любого типа для отображения записей, в которых значение поля равно NULL.

Как видите, условия могут значительно отличаться друг от друга в зависимости от типа данных в поле, к которому они применяются, и от ваших требований. Некоторые условия простые и включают только основные операторы и константы. Другие условия сложные: они содержат функции, специальные операторы и ссылки на поля.

В этой статье перечислено несколько часто используемых условий для различных типов данных. Если примеры не отвечают вашим потребностям, возможно, вам придется задать собственные условия. Для этого необходимо сначала ознакомиться с полным списком функций, операторов и специальных знаков, а также с синтаксисом выражений, которые ссылаются на поля и литералы.

Узнаем, где и как можно добавлять условия. Чтобы добавить условия в запрос, необходимо открыть его в Конструкторе. После этого следует определить поля, для которых вы хотите задать условия. Если поля еще нет на бланке запроса, добавьте его, перетащив его из окна конструктора запросов на сетку полей или дважды щелкнув поле (при этом поле автоматически добавляется в следующий пустой столбец в сетке). Наконец, введите условия в строку Условия.

Условия, заданные для разных полей в строке Условия, объединяются с помощью оператора AND. Другими словами, условия, заданные в полях «Город» и «ДатаРождения», интерпретируются следующим образом:

1. Поля «Город» и «ДатаРождения» включают условия.

2. Этому условию соответствуют только записи, в которых поле «Город» имеет значение «Воронеж».

3. Этому условию соответствуют только записи людей, которым не менее 40 лет.

4. В результат будут включены только те записи, которые соответствуют обоим условиям.

Что делать, если требуется, чтобы выполнялось только одно из этих условий? Другими словами, как можно ввести альтернативные условия?

Если у вас есть альтернативные условия, то есть два набора независимых условий, из которых должен выполняться только один, используйте строки Условие отбора и Или на бланке.

1. 1. Условие «Город» указывается в строке «Условие отбора».

2. 2. Условие «ДатаРождения» указывается в строке «или».

Условия, заданные в строках Условие отбора и или, объединяются с помощью оператора OR, как показано ниже.

Если требуется задать несколько альтернативных условий, используйте строки под строкой или.

Прежде чем приступить к изучению примеров, обратите внимание на следующее:

  • Если условие является временным или часто меняется, можно фильтровать результаты запроса, вместо того чтобы постоянно менять условия. Фильтр — это временное условие, которое изменяет результат запроса, не изменяя его структуру. Дополнительные сведения о фильтрах см. в статье Применение фильтра для просмотра отдельных записей в базе данных Access.
  • Если используются одни и те же поля условий, но часто меняются значения, которые вам интересны, вы можете создать запрос с параметрами. Такой запрос предлагает указать значения полей, а затем использует их для создания условий. Дополнительные сведения о запросах с параметрами см. в статье Использование параметров в запросах и отчетах.

Условия для текстовых полей, полей Memo и полей гиперссылок

Примечание: Начиная с версии Access 2013, текстовые поля носят название Краткий текст, а поля Memo — Длинный текст.

Следующие примеры относятся к полю «СтранаРегион», основанном на таблице, в которой хранится информация о контактах. Условие задается в строке Условие отбора поля на бланке.

Условие, заданное для поля «Гиперссылка», по умолчанию применяется к отображаемому тексту, который указан в поле. Чтобы задать условия для конечного URL-адреса, используйте выражение HyperlinkPart. У него следующий синтаксис: HyperlinkPart([Таблица1].[Поле1],1) = «http://www.microsoft.com/», где «Таблица1» — это имя таблицы, содержащей поле гиперссылки, «Поле1» — это само поле гиперссылки, а «http://www.microsoft.com» — это URL-адрес, который вы хотите найти.

Чтобы добавить записи, которые.

Используйте это условие

Результат запроса

Точно соответствуют определенному значению, например «Китай»

Возвращает записи, в которых поле «СтранаРегион» содержит значение «Китай».

Не соответствуют определенному значению, например «Мексика»

Возвращает записи, в которых значением поля «СтранаРегион» не является «Мексика».

Начинаются с заданной строки символов, например «С»

Возвращает записи всех стран или регионов, названия которых начинаются с буквы «С», таких как Словакия и США.

Примечание: Символ «звездочка» (*) в выражении обозначает любую строку символов. Он также называется подстановочным знаком. Список таких знаков см. в статье Справочные сведения о подстановочных знаках в приложении Access.

Не начинаются с заданной строки символов, например «С»

Возвращает записи всех стран или регионов, названия которых не начинаются с буквы «С».

Содержат заданную строку, например «Корея»

Возвращает записи всех стран или регионов, названия которых содержат строку «Корея».

Не содержат заданную строку, например «Корея»

Возвращает записи всех стран или регионов, названия которых не содержат строку «Корея».

Заканчиваются заданной строкой, например «ина»

Возвращает записи всех стран или регионов, названия которых заканчиваются на «ина», таких как «Украина» и «Аргентина».

Не заканчиваются заданной строкой, например «ина»

Возвращает записи всех стран или регионов, названия которых не заканчиваются на «ина», как в названиях «Украина» и «Аргентина».

Содержат пустые значения (или значения отсутствуют)

Возвращает записи, в которых это поле не содержит значения.

Не содержат пустых значений

Возвращает записи, в которых это поле содержит значение.

Содержат пустую строку

Возвращает записи, в которых поле имеет пустое значение (но не значение NULL). Например, записи о продажах другому отделу могут содержать пустое значение в поле «СтранаРегион».

Не содержат пустых строк

Возвращает записи, в которых поле «СтранаРегион» имеет непустое значение.

Содержит нулевые значения или пустые строки

Возвращает записи, в которых значение в поле отсутствует или является пустым.

Ненулевые и непустые

Is Not Null And Not «»

Возвращает записи, в которых поле «СтранаРегион» имеет непустое значение, не равное NULL.

При сортировке в алфавитном порядке следуют за определенным значением, например «Мексика»

Возвращает записи с названиями стран и регионов, начиная с Мексики и до конца алфавита.

Входят в определенный диапазон, например от А до Г

Возвращает страны и регионы, названия которых начинается с букв от «А» до «Г».

Совпадают с одним из двух значений, например «Словакия» или «США»

«Словакия» Or «США»

Возвращает записи для США и Словакии.

Содержат одно из значений, указанных в списке

In(«Франция», «Китай», «Германия», «Япония»)

Возвращает записи всех стран или регионов, указанных в списке.

Содержат определенные знаки в заданном месте значения поля

Right([СтранаРегион], 1) = «а»

Возвращает записи всех стран или регионов, названия которых заканчиваются на букву «а».

Соответствуют заданной длине

Возвращает записи стран или регионов, длина названия которых превышает 10 символов.

Соответствуют заданному шаблону

Возвращает записи стран или регионов, названия которых состоят из пяти символов и начинаются с «Лив», например Ливия и Ливан.

Примечание: Символы ? и _ в выражении обозначают один символ. Они также называются подстановочными знаками. Знак _ нельзя использовать в одном выражении с символом ?, а также с подстановочным знаком *. Вы можете использовать подстановочный знак _ в выражении, где есть подстановочный знак %.

Условия для числовых полей, полей с денежными значениями и полей счетчиков

Следующие примеры относятся к полю «ЦенаЗаЕдиницу», основанном на таблице, в которой хранится информация о товарах. Условие задается в строке Условие отбора поля на бланке запроса.

Чтобы добавить записи, которые.

Результат запроса

Точно соответствуют определенному значению, например 1000

Возвращает записи, в которых цена за единицу товара составляет 1000 ₽.

Не соответствуют значению, например 10 000

Возвращает записи, в которых цена за единицу товара не равна 10 000 ₽.

Содержат значение, которое меньше заданного, например 1000

Содержат значение, которое больше заданного, например 999,99

Возвращает записи, в которых цена товара больше 999,99 ₽ (>999,99). Второе выражение отображает записи, цена в которых не меньше 999,99 ₽.

Содержат одно из двух значений, например 200 или 250

Возвращает записи, в которых цена товара равна 200 или 250 ₽.

Содержат значение, которое входит в определенный диапазон

>499,99 and или
Between 500 and 1000

Возвращает записи товаров с ценами в диапазоне от 499,99 до 999,99 ₽ (не включая эти значения).

Содержат значение, которое не входит в определенный диапазон

Возвращает записи, в которых цена товара не находится в диапазоне от 500 до 1000 ₽.

Содержит одно из заданных значений

Возвращает записи, в которых цена товара равна 200, 250 или 300 ₽.

Содержат значение, которое заканчивается на заданные цифры

Возвращает записи товаров, цена которых заканчивается на 4,99, например 4,99 ₽, 14,99 ₽, 24,99 ₽ и т. д.

Примечание: Знаки * и % в выражении обозначают любое количество символов. Они также называются подстановочными знаками. Знак % нельзя использовать в одном выражении с символом *, а также с подстановочным знаком ?. Вы можете использовать подстановочный знак % в выражении, где есть подстановочный знак _.

Содержат пустые значения (или значения отсутствуют)

Возвращает записи, для которых не введено значение в поле «ЦенаЗаЕдиницу».

Содержат непустые значения

Возвращает записи, в поле «ЦенаЗаЕдиницу» которых указано значение.

Условия для полей «Дата/время»

Следующие примеры относятся к полю «ДатаЗаказа», основанном на таблице, в которой хранится информация о заказах. Условие задается в строке Условие отбора поля на бланке запроса.

Используйте этот критерий

Результат запроса

Точно соответствуют значению, например 02.02.2006

Возвращает записи транзакций, выполненных 2 февраля 2006 г. Обязательно ставьте знаки # до и после значений даты, чтобы Access мог отличить значения даты от текстовых строк.

Не соответствуют значению, такому как 02.02.2006

Возвращает записи транзакций, выполненных в любой день, кроме 2 февраля 2006 г.

Содержат значения, которые предшествуют определенной дате, например 02.02.2006

Возвращает записи транзакций, выполненных до 2 февраля 2006 г.

Чтобы просмотреть транзакции, выполненные в определенную дату или до нее, воспользуйтесь оператором вместо оператора .

Содержат значения, которые следуют за определенной датой, например 02.02.2006

Возвращает записи транзакций, выполненных после 2 февраля 2006 г.

Чтобы просмотреть транзакции, выполненные в определенную дату или после нее, воспользуйтесь оператором >= вместо оператора >.

Содержат значения, которые входят в определенный диапазон дат

Возвращает записи транзакций, выполненных в период между 2 и 4 февраля 2006 г.

Кроме того, для фильтрации по диапазону значений, включая конечные значения, вы можете использовать оператор Between. Например, выражение Between #02.02.2006# and #04.02.2006# идентично выражению >=#02.02.2006# and

Содержат значения, которые не входят в определенный диапазон

Возвращает записи транзакций, выполненных до 2 февраля 2006 г. или после 4 февраля 2006 г.

Содержат одно из двух заданных значений, например 02.02.2006 или 03.02.2006

#02.02.2006# or #03.02.2006#

Возвращает записи транзакций, выполненных 2 или 3 февраля 2006 г.

Содержит одно из нескольких значений

In (#01.02.2006#, #01.03.2006#, #01.04.2006#)

Возвращает записи транзакций, выполненных 1 февраля 2006 г., 1 марта 2006 г. или 1 апреля 2006 г.

Содержат дату, которая выпадает на определенный месяц (вне зависимости от года), например декабрь

DatePart(«m»; [ДатаПродажи]) = 12

Возвращает записи транзакций, выполненных в декабре любого года.

Содержат дату, которая выпадает на определенный квартал (вне зависимости от года), например первый

DatePart(«q»; [ДатаПродажи]) = 1

Возвращает записи транзакций, выполненных в первом квартале любого года.

Содержат текущую дату

Возвращает записи транзакций, выполненных сегодня. Если сегодняшняя дата — 02.02.2006 г., вы увидите записи, в поле «ДатаЗаказа» которых указано 2 февраля 2006 г.

Содержат вчерашнюю дату

Возвращает записи транзакций, выполненных вчера. Если сегодняшняя дата — 02.02.2006 г., вы увидите записи за 1 февраля 2006 г.

Содержат завтрашнюю дату

Возвращает записи транзакций, которые будут выполнены завтра. Если сегодняшняя дата — 02.02.2006 г., вы увидите записи за 3 февраля 2006 г.

Содержат даты, которые выпадают на текущую неделю

DatePart(«ww»; [ДатаПродажи]) = DatePart(«ww»; Date()) and Year([ДатаПродажи]) = Year(Date())

Возвращает записи транзакций, выполненных за текущую неделю. Неделя начинается в воскресенье и заканчивается в субботу.

Содержат даты, которые выпадают на прошлую неделю

Year([ДатаПродажи])* 53 + DatePart(«ww»; [ДатаПродажи]) = Year(Date())* 53 + DatePart(«ww»; Date()) — 1

Возвращает записи транзакций, выполненных за прошлую неделю. Неделя начинается в воскресенье и заканчивается в субботу.

Содержат даты, которые выпадают на следующую неделю

Year([ДатаПродажи])* 53+DatePart(«ww»; [ДатаПродажи]) = Year(Date())* 53+DatePart(«ww»; Date()) + 1

Возвращает записи транзакций, которые будут выполнены на следующей неделе. Неделя начинается в воскресенье и заканчивается в субботу.

Содержат дату, которая выпадает на последние 7 дней

Between Date() and Date()-6

Возвращает записи транзакций, выполненных за последние 7 дней. Если сегодняшняя дата — 02.02.2006 г., вы увидите записи за период с 24 января 2006 г. по 2 февраля 2006 г.

Содержат дату, которая выпадает на текущий месяц

Year([ДатаПродажи]) = Year(Now()) And Month([ДатаПродажи]) = Month(Now())

Возвращает записи за текущий месяц. Если сегодняшняя дата — 02.02.2006 г., вы увидите записи за февраль 2006 г.

Содержат дату, которая выпадает на прошлый месяц

Year([ДатаПродажи])* 12 + DatePart(«m»; [ДатаПродажи]) = Year(Date())* 12 + DatePart(«m»; Date()) — 1

Возвращает записи за прошлый месяц. Если сегодняшняя дата — 02.02.2006 г., вы увидите записи за январь 2006 г.

Содержат дату, которая выпадает на следующий месяц

Year([ДатаПродажи])* 12 + DatePart(«m»; [ДатаПродажи]) = Year(Date())* 12 + DatePart(«m»; Date()) + 1

Возвращает записи за следующий месяц. Если сегодняшняя дата — 02.02.2006 г., вы увидите записи за март 2006 г.

Содержат дату, которая выпадает на последние 30 дней или 31 день

Between Date( ) And DateAdd(«M», -1, Date( ))

Записи о продажах за месяц. Если сегодняшняя дата — 02.02.2006 г., вы увидите записи за период со 2 января 2006 г. по 2 февраля 2006 г.

Содержат дату, которая выпадает на текущий квартал

Year([ДатаПродажи]) = Year(Now()) And DatePart(«q»; Date()) = DatePart(«q»; Now())

Возвращает записи за текущий квартал. Если сегодняшняя дата — 02.02.2006 г., вы увидите записи за первый квартал 2006 г.

Содержат дату, которая выпадает на прошлый квартал

Year([ДатаПродажи])*4+DatePart(«q»;[ДатаПродажи]) = Year(Date())*4+DatePart(«q»;Date())- 1

Возвращает записи за прошлый квартал. Если сегодняшняя дата — 02.02.2006 г., вы увидите записи за последний квартал 2005 г.

Содержат дату, которая выпадает на следующий квартал

Возвращает записи за следующий квартал. Если сегодняшняя дата — 02.02.2006 г., вы увидите записи за второй квартал 2006 г.

Содержат дату, которая выпадает на текущий год

Возвращает записи за текущий год. Если сегодняшняя дата — 02.02.2006 г., вы увидите записи за 2006 г.

Содержат дату, которая выпадает на прошлый год

Year([ДатаПродажи]) = Year(Date()) — 1

Возвращает записи транзакций, выполненных в прошлом году. Если сегодняшняя дата — 02.02.2006 г., вы увидите записи за 2005 г.

Содержат дату, которая выпадает на следующий год

Year([ДатаПродажи]) = Year(Date()) + 1

Возвращает записи транзакций, которые будут выполнены в следующем году. Если сегодняшняя дата — 02.02.2006 г., вы увидите записи за 2007 г.

Содержат дату, которая приходится на период с 1 января до текущей даты (записи с начала года до настоящего момента)

Возвращает записи транзакций, которые приходятся на период с 1 января текущего года до сегодняшней даты. Если сегодняшняя дата — 02.02.2006 г., вы увидите записи за период с 1 января 2006 г. по 2 февраля 2006 г.

Содержат прошедшую дату

Возвращает записи транзакций, выполненных до сегодняшнего дня.

Содержат будущую дату

Возвращает записи транзакций, которые будут выполнены после сегодняшнего дня.

Фильтр пустых (или отсутствующих) значений

Возвращает записи, в которых не указана дата транзакции.

Фильтр непустых значений

Возвращает записи, в которых указана дата транзакции.

Условия для полей «Да/Нет»

В качестве примера, в таблице «Клиенты» есть логическое поле «Активность», которое показывает текущую активность учетной записи клиента. В таблице отображается, как вычисляются значения, введенные в строке условий логического поля.

«Да», «Истина», 1 или -1

Проверено для значения «Да». После ввода значение 1 или -1 изменяется на «Истина» в строке условий.

Проверено для значения «Нет». После ввода значение 0 изменяется на «Ложь» в строке условий.

Нет значения (null)

Любое число, отличное от 1, -1 или 0

Нет результатов, если это единственное значение условия в поле

Любая строка символов, отличная от «Да», «Нет», «Истина» или «Ложь»

Не удается выполнить запрос из-за ошибки несоответствия типов данных.

Условия для других полей

Вложения. В строке Условие отбора введите Is Null, чтобы включить записи, которые не содержат вложений. Введите Is Not Null, чтобы включить записи с вложениями.

Поля подстановки. Существует два типа полей подстановки: те, которые подставляют значения из существующего источника данных (с помощью внешнего ключа), и те, которые основаны на списке значений, заданном при их создании.

Поля подстановки, основанные на списке значений, имеют текстовый тип данных и принимают такие же условия, как другие текстовые поля.

Условия, которые можно использовать в поле подстановки, основанном на значениях из существующего источника данных, зависят от типа данных внешнего ключа, а не типа подставляемых данных. Например, у вас может быть поле подстановки, которое отображает имя сотрудника, но использует внешний ключ с числовым типом данных. Так как в поле хранится число, а не текст, вы можете использовать условия, которые подходят для чисел, такие как >2.

Если вы не знаете тип данных внешнего ключа, можно просмотреть исходную таблицу в Конструкторе, чтобы определить его. Для этого:

  1. Найдите исходную таблицу в области навигации.
  2. Откройте таблицу в Конструкторе, сделав одно из следующего:
    • Щелкните таблицу и нажмите клавиши CTRL+ВВОД.
    • Щелкните таблицу правой кнопкой мыши и выберите пункт Конструктор.
  3. Тип данных для каждого поля указан в столбце Тип данных на бланке таблицы.

Многозначные поля. Данные в многозначных полях хранятся как строки скрытой таблицы, которые Access создает и заполняет для представления поля. В Конструкторе запроса они представлены в списке полей с помощью расширяемого поля. Чтобы задать условия для многозначного поля, необходимо указать их для одной строки скрытой таблицы. Для этого выполните указанные ниже действия.

  1. Создайте запрос, содержащий многозначное поле, и откройте его в Конструкторе.
  2. Разверните многозначное поле, щелкнув символ плюса (+) рядом с ним. Если поле уже развернуто, то выводится минус (). Под именем поля вы увидите поле, представляющее одно значение многозначного поля. Это поле будет иметь то же имя, что и многозначное поле, но к нему будет добавлена строка .Значение.
  3. Перетащите многозначное поле и поле его значения в различные столбцы на бланке. Если вы хотите, чтобы в результатах выводилось только полное многозначное поле, снимите флажок Показать для поля одного значения.
  4. Введите в поле Условие отбора для поля с одним значением условия, подходящие для типа данных, который представляют собой значения.
  5. Каждое значение в многозначном поле будет оцениваться по отдельности на основе указанных условий. Например, допустим, что в многозначном поле хранится список чисел. Если указать условия >5 AND , будут выведены все записи, в которых есть по крайней мере одно значение больше 5 и одно значение меньше 3.

Как в запросе аксесс сделать нумерацию записей

Запросы на выборку в Access

В простейшем случае запрос реализует выбор из одной таблицы нужных полей, записей, соответствующих заданным условиям отбора, и просмотр результатов выполнения запроса.

Конструирование запросов на выборку с условиями отбора

Рассмотрим запросы на выборку в Access на примере получения информации из таблицы ТОВАР базы данных Поставка товаров.

Задача 1. Пусть необходимо выбрать ряд характеристик товара по его наименованию.

  1. Для создания запроса в окне базы данных выберите вкладку ленты — Создание (Create) и в группе Запросы (Queries) нажмите кнопку Конструктор запросов (Query Design). Откроется пустое окно запроса на выборку в режиме конструктора — ЗапросN (QueryN) и диалоговое окно Добавление таблицы (Show Table) (рис. 4.2).
  2. В окне Добавление таблицы (Show Table) выберите таблицу ТОВАР и нажмите кнопку Добавить (Add). Выбранная таблица будет отображена в области схемы данных запроса. Закройте окно Добавление таблицы (Show Table), нажав кнопку Закрыть (Close).

В результате выполненных действий в окне конструктора запросов (рис. 4.1) в верхней панели появится схема данных запроса, которая включает выбранные для данного запроса таблицы. В данном случае одну таблицу ТОВАР. Таблица представлена списком полей. Первая строка в списке полей таблицы, отмеченная звездочкой (*), обозначает все множество полей таблицы. Нижняя панель является бланком запроса, который нужно заполнить.

Запросы в Access

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

Запросы на выборку в Access

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

Запросы на выборку в Access

ЗАМЕЧАНИЕ
Окно запроса в режиме таблицы аналогично окну просмотра таблицы базы данных. Через некоторые таблицы запроса может производиться изменение данных базовой таблицы, лежащей в основе запроса. Запрос, просматриваемый в режиме таблицы, в отличие от таблицы базы данных Access 2010, не имеет столбца Щелкнуть для добавления (Click to Add), предназначенного для изменения структуры таблицы. В этом режиме на вкладке ленты Главная (Home) доступны те же кнопки, что и при открытии таблицы базы данных.

  1. Если при вводе сложного наименования товара вы допустили неточность, товар не будет найден в таблице. Использование операторов шаблона — звездочка (*) и вопросительный знак (?) (стандарт ANSI-89, используемый для запросов по умолчанию) или знак процента (%) и подчеркивания (_) (ANSI-92, рекомендуемый как стандарт для SQL Server), упрощает поиск нужных строк и позволяет избежать многих ошибок. Введите вместо полного имени товара Корпус* или Корпус%. Выполните запрос. Если в поле наименования товара одно значение начинается со слова «Корпус», результат выполнения запроса будет таким же, как в предыдущем случае. После выполнения запроса введенное выражение будет дополнено оператором Like «Корпус*». Этот оператор позволяет использовать символы шаблона при поиске в текстовых полях.
  2. Если необходимо найти несколько товаров, используйте оператор In. Он позволяет выполнить проверку на равенство любому значению из списка, который задается в круглых скобках. Запишите в строке условий отбора In («Корпуc MiniTower»;»HDD Maxtor 20GB»;»FDD 3,5″). В таблице запроса будет выведено три строки. В операторе In не допускается использование символов шаблона.

Задача 2. Пусть надо выбрать товары, цена которых не более 1000 руб., и НДС не более 10%, а также выбрать товары, цена которых более 2500 руб. Результат должен содержать наименование товара (НАИМ_ТОВ), его цену (ЦЕНА) и НДС (СТАВКА_НДС).

  1. Создайте новый запрос в режиме конструктора, добавьте таблицу ТОВАР. В окне конструктора (рис. 4.5) последовательно перетащите из списка полей таблицы ТОВАР в бланк запроса поля НАИМ_ТОВ, ЦЕНА, СТАВКА_НДС.
  2. Запишите Условия отбора (Criteria), как показано в бланке запроса на рис. 4.5. Между условиями, записанными в одной строке, выполняется логическая операция AND. Между условиями, записанными в разных строках, выполняется логическая операция OR.
  3. Выполните запрос, щелкните на кнопке Выполнить (Run) в группе Результаты (Results). На экране появится окно запроса в режиме таблицы с записями из таблицы ТОВАР, отвечающими заданным условиям отбора.
  4. Сохраните запрос, выполнив соответствующую команду в контекстном меню запроса, которое вызывается при установке курсора на заголовок запроса. Дайте ему имя Пример2.

Запросы на выборку в Access

Задача 3. Пусть надо выбрать все накладные за заданный период. Результат должен содержать номер накладной (НОМ_НАК), код склада (КОД_СК), дату отгрузки (ДАТА_ОТГР) и общую стоимость отгруженного товара (СУММА_НАКЛ).

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

Для закрепления смотрим видеоурок:

Вычисляемые поля в запросах Access далее.

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. Оформите отчет, в котором должны быть отражены следующие технологии:

  • создание сложной формы (разработка формы, изменение расположения элементов в форме, вставка в форму диаграммы для графического отображения информации, редактирование вида осей диаграммы);
  • создание сложных отчетов (создание запроса, на основе которого формируется отчет; создание итогового отчета с помощью Мастера отчетов);
  • разработка кнопочной формы-меню для работы с базами данных.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *