Файл: Программа Microsoft (MS) Access 2007 является преемником.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 30.10.2023
Просмотров: 412
Скачиваний: 3
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
76
Рис. 3.32. Окно Добавление таблицы
Нижняя часть называется бланком запроса по образцу, иначе
QBE-бланком или QBE-областью. При этом количество строк в QBE-бланке может меняться в зависимости от вида запроса.
Рис. 3.33. Окно Бланк запроса
Бланк запроса содержит строки:
•
Поле–для запрашиваемых полей;
•
Имя таблицы – для вывода имени таблицы, из которой вы- бирается поле;
77
•
Сортировка – для проведения сортировки по этим полям;
•
Вывод на экран – для вывода или нет выбранных запросом полей на экран;
•
Условие отбора – для ввода условий на выбор записей в со- ответствии с заданными условиями, причем условия по отдельным полям в этой строке соединяются операцией «И» (все условие верно только, если все составляющие его условия верны);
•
Или – для ввода условий, которые соединяются с условием в вышерасположенной строке Условие отбора по принципу «ИЛИ»
(все условие верно, если хотя бы одно из составляющих его усло- вий верно).
Для создания простого запроса необходимо в бланк запроса перенести мышью нужные поля.
После этого активизируется вкладка Конструктор, которая со- держит группы инструментов Результаты, Тип запроса, Настройка
запроса, Показать или скрыть (рис. 3.33).
Для выполнения запроса необходимо активизировать кнопку
Выполнить в пиктографическом меню. В результате на экране в
виде таблицы отобразится выполненный запрос. Сохраните его.
Запрос с условием. Условие запроса – это правило, опреде- ляющее, какие записи требуется включить в результаты запроса.
Для подготовки запроса с условием необходимо в строке Усло-
вие отбора бланка запроса записать выражение, которое состоит из операндов (табл. 3.5), операторов (табл. 3.6–3.9), функций, ссылок на имена полей, позволяющих выбирать необходимую информацию по заданному критерию отбора.
Таблица 3.5
Операнды, используемые в критериях отбора
Операнды
Описание
Литералы
Конкретные значения:
– числа (любые): 5, 20 и т. п.;
– текст (заключается в двойные кавычки): "Иванов",
"Минск";
– даты
(заключаются в
символы
#):
#1.01.03#,
#9-Июнь-03#
Константы
Неизменяющиеся значения, определенные в Access: True,
False, Null, Да, Нет
Идентификато- ры (ссылки)
Имена полей, таблиц, форм, отчетов и т. д. (заключаются в квадратные скобки, восклицательный знак используется при указании ссылки на поле в конкретном объекте БД):
[Группа]![ФИО]
Таблица 3.6
Оператор выбора по шаблону,
используется для полей с типами данных «Текстовый», «Поле MEMO» и «Гиперссылка»
Оператор
Описание
Пример
Like
Для отбора данных в текстовых полях по шаблону,
заключенному в кавычки. Шаблоном может быть слово, по которому будет производиться поиск и отбор записей или набор символов:
Like"С*" выбирает все записи из заданного поля, начинаю- щиеся на букву С
Like"?#[5-8][!1-3]А*" выбирает все записи из заданного поля со значением:
• в первой позиции – произвольный символ;
• во второй позиции – произвольная цифра;
• в третьей позиции – любое число от 5 до 8 включительно;
• в четвертой позиции – любое число,
кроме цифр от 1 до 3 включительно;
• в пятой позиции – буква А, после – произвольные сим- волы в любом количестве
? любой одиночный символ в данной позиции;
* любое количество символов в данной позиции;
# любая цифра в данной позиции;
[] заключает допустимый диапазон символов;
[!] заключает недопустимый диапазон символов
Таблица 3.7
Логические операторы
Оператор
Описание
Пример
=, >, <,
>=, <=, <>
Равно, больше, меньше, больше или равно, меньше или равно, неравно
>#02.02.2006# выбирает записи, совершенные после
2 февраля 2006 г.
And
Логическое И, задает интервал отбора из выра- жений
>10 And <=20 в числовом поле выбирает записи из ин- тервала [10–20]
Or
Логическое ИЛИ, задает альтернативы отбора из выражений
10 Or 20 Or 30 в числовом поле выбирает записи, равные
10, или 20, или 30
Like"M*" Or Like"К*" в текстовом поле выбирает записи, начинающиеся с букв М или К
Not
Логическое НЕ (отрицание)
Not Like"белый" в текстовом поле выбирает все записи, кроме белый
78
Таблица 3.8
Операторы условий для полей с типом данных «Дата/Время»
Оператор
Описание
Пример
DateDiff
Определяет интервал времени между двумя датами. На- пример, для вычисления числа лет между двумя датами или числа дней между сегодняшним днем и концом года.
Интервал может принимать значения:
DateDiff("yyyy";[Студенты]![Дата рождения];Date())>18
выводит фамилии студентов старше 18 лет "yyyy" определяет число лет;
"m"
определяет число месяцев;
"d"
определяет число дней;
Date() определяет текущую дату;
Date()–1 записи об операциях, совершенных за один день до текущей даты;
Date()+1 записи об операциях, совершенных на следую- щий день после текущей даты
DatePart
Определяет значение, содержащее указанную часть за- данной даты. Например, год, месяц или день в текущей дате. Интервал принимает те же значения, что и в функ- ции DateDiff
DatePart("m";[Студенты]![Дата рождения])=5
выводит даты рождения всех студентов, родившихся в мае
Таблица 3.9
Операторы выбора из диапазона
Оператор
Описание
Пример
Between X1
And X2
Позволяет задать интервал для числового значения от Х1 до Х2 включительно
Between Date() And Date()-6 выбирает записи об операциях, совершенных в течение последних 7 дней
Between 10 And 20 в числовом поле выбирает записи из интервала от 10 до 20 включительно
In
Позволяет выполнить проверку на равенство любому зна- чению из списка, который задается в круглых скобках.
Выбирает записи из полей со значениями
In("Минск";"Омск";"Орша") Минск, или Омск, или
Орша
In(10;20;30) 10, или 20, или 30 79
80
Рассмотрим пример. Деканату необходимо получить фамилии студентов,
не сдавших экзамен
(оценка ниже 4) в первом семестре.
Для получения запроса нам понадобятся таблицы: Студенты
(поле Фамилия), Дисциплина (поля Семестр обучения, Наиме-
нование дисциплины) и Экзамен (поле Оценка). Добавим эти поля в бланк запроса. В строке Условие отбора для поля Семестр необходимо записать "1"; для поля Оценка – <4 (рис. 3.34).
Рис. 3.34. Построение запроса в режиме Конструктора запросов
В результате мы получим (рис. 3.35):
Рис. 3.35. Результат запроса
Если условие налагается на несколько полей и они связаны логическим оператором И, то они вводятся в одной строке под нужными полями, если логическим оператором ИЛИ – то в раз- ных строках под нужными полями.
81
Сохраненным запросом можно воспользоваться в любой мо- мент и
после внесения изменений и
дополнений в
исходную таблицу.
Запросы с вычисляемыми полями. В таблицах БД не может быть полей, значения которых являются производными от других полей таблицы, т. к. это нарушает правила нормализации. Для по- лучения таких полей используются запросы, а именно – вычисляе- мые поля в запросах.
Для построения вычисляемого поля нужно в пустую ячейку строки Поле бланка запроса ввести выражение. Выражения могут быть арифметическими, логическими или текстовыми.
Во избежание ошибок ввода для построения выражения (как и для записи условий отбора в предыдущих запросах) лучше исполь- зовать Построитель выражений (рис. 3.36), который открывается при нажатии на кнопки Построитель
вкладки Конструктор.
Рис. 3.36. Окно мастера Построитель выражений
В верхней части окна Построителя выражений расположена область ввода выражения. В нижней – три списка для поиска имен полей и
встроенных функций,
необходимых для создания выражения.
Для создания выражения нужно выбрать необходимую таб- лицу, в ней – нужные для расчета поля и произвести между ними вычисления, используя кнопки соответствующих операторов. Имя создаваемого в процессе запроса вычисляемого поля вводится с двоеточием. Это имя появится в качестве заголовка поля.
82
Создадим запрос, определяющий процент минчан в каждой группе студентов. Для этого из таблицы Группа выберем поле
Номер группы и в свободном поле бланка запроса введем выраже- ние: Процент минчан:([Группа]![Количество минчан]/[Группа]!
[Количество студентов в группе]).
Результат расчета должен быть выведен в процентах (рис. 3.37).
Поэтому выберем на вкладке Конструктор в группе Показать или
скрыть кнопку Страница свойств и установим в открывшемся
Окне свойств для данного поля формат «Процентный».
Рис. 3.37. Запрос с вычисляемым полем
Запрос с параметром. В условиях отбора бланка запроса мы вводим конкретные значения (константы). Но иногда условия от- бора необходимо изменять. Для этого используется параметр за- проса, который делает поле переменной величиной. При каждом выполнении запроса значение параметра будет запрашиваться.
Запросами с параметром являются запросы, в которых кон- кретное значение параметра, входящего в условие на выборку, фор- мируется в диалоговом режиме через специальное окно запроса.
Для создания такого запроса в строку Условие отбора вво- дится фраза в квадратных скобках, которая будет выводиться в ка- честве «подсказки» в процессе диалога, например, [Введите фа- милию]. Таких параметров может быть несколько, каждый для своего поля.
Создадим запрос с параметром, чтобы определить, какие оценки получили студенты по конкретному предмету. Для этого на основе таблиц 4>
1 2 3 4 5 6 7
Студенты и Экзамен создадим запрос, включив в него необходимые поля этих таблиц. Для поля Дисциплина в ус- ловии отбора установим в квадратных скобках параметр [Введите наименование дисциплины] (рис. 3.38).
83
Рис. 3.38. Бланк запроса с параметром
Запустив запрос на выполнение, мы сначала получим диало- говое окно, в котором укажем, какая именно дисциплина нас ин- тересует. Результат представлен на рис. 3.39.
Рис. 3.39. Результат запроса с параметром
Итоговые запросы. Итоговые запросы используются в том случае, если необходимо сгруппировать записи, выбранные со- гласно заданным условиям, по совпадающим значениям поля, а по несовпадающим значениям вычислить итоговые значения. В таких запросах используются два типа полей: по одним полям осуществ- ляется группировка данных, по другим – вычисления.
84
Для выполнения вычислений в итоговых запросах использу- ются следующие функции (табл. 3.10):
Таблица 3.10
Таблица функций
Функция
Описание
Sum
Вычисляет сумму всех значений заданного поля в каждой группе
Avg
Вычисляет среднее арифметическое всех значений заданного поля в каждой группе
Min
Возвращает наименьшее значение, найденное в заданном поле внутри каждой группы
Max
Возвращает наибольшее значение, найденное в заданном поле внутри каждой группы
Count
Возвращает число записей, найденное в заданном поле внутри каждой группы, отличное от Null (пустого значения)
First
Возвращает первое значение, найденное в заданном поле внутри каждой группы
Last
Возвращает последнее значение, найденное в заданном поле внутри каждой группы
Stdev
Возвращает среднеквадратичное отклонение от среднего значе- ния поля в группе
Var
Возвращает дисперсию значений поля в группе
Создадим запрос, определяющий средний балл, полученный студентами по разным дисциплинам на факультете (рис. 3.40).
Для этого из таблицы Экзамен выберем поля Дисциплина и Оценка и затем на вкладке Конструктор в группе Показать или
скрыть нажмем кнопку Итоги. При этом в бланке запроса поя- вится строка Групповая операция, и в этой строке будет выведена установка Группировка для каждого поля, внесенного в бланк.
Для поля Дисциплина значение Группировка оставим без изме- нения, для поля Оценка из раскрывающегося списка выберем функцию Avg.
В полученной таблице для поля Оценка установлены свойства: формат поля
–
фиксированный,
число десятичных знаков
– 1.
85
Рис. 3.40. Итоговый запрос
Перекрестные запросы. Перекрестные запросы использу- ются в тех случаях, когда необходимо разгруппировать имеющиеся данные по определенным критериям отбора. В перекрестных за- просах, кроме обычных операций группировки выбранных данных, производится такое их расположение в таблице запроса, которое позволяет более компактно и наглядно отображать выбранную из БД информацию. Таблица перекрестного запроса выглядит примерно так же, как стандартная электронная таблица, где обычно все строки и столбцы имеют свои названия или номер, а на их пересечении размещается соответствующее выбранной ячейке значение.
Рассмотрим на примере. Необходимо определить среднюю оценку за экзамен по всем дисциплинам в каждой группе.
Для построения запроса после добавления необходимых таб- лиц и полей (в нашем случае № группы, Дисциплина, Оценка) нужно на вкладке Конструктор в группе Тип запроса нажать кнопку Перекрестный, при этом в бланке запроса появится строка
Перекрестная таблица (рис. 3.41).
86
Рис. 3.41. Перекрестный запрос
Для поля № группы в строке Перекрестная таблица выбрать значение Заголовки строк, а в строке Групповая операция – значение Группировка.
Для поля Дисциплина в строке Перекрестная таблица выбрать значение Заголовки столбцов, а в строке Групповая операция – значение Группировка.
Для поля Оценка в строке Перекрестная таблица выбрать
Значение, а в строке Групповая операция – статистическую функцию Avg.
В
результате получим информацию следующего вида
(рис.
3.42):
Рис. 3.42. Результат перекрестного запроса
87 3.11. Практическая работа № 8
Создание форм в СУБД Access 2007
Цель работы: освоить способы создания форм в разных режи- мах (Мастера форм, Конструктора форм, на основе шаблона).
Формы в Access предназначены для отображения в удобном виде на экране монитора данных, хранящихся в таблицах. Факти- чески на основе форм создается тот необходимый и удобный поль- зовательский интерфейс,
в котором и
происходит вся работа с
БД.
Другим важным назначением форм является обеспечение безопасности структуры БД, т. к. производимые с помощью форм операции по вводу и редактированию данных не затрагивают струк- туры исходных таблиц. Рядовой пользователь БД, в принципе, не должен иметь доступа непосредственно к самим таблицам дан- ных. Он должен иметь право только «заглянуть» в их содержимое и при необходимости его отредактировать. Грамотно построенная
БД предоставляет пользователям возможность вообще не обра- щаться к самой программе Access, т. к. все необходимые им функ- ции реализованы с помощью форм.
Большинство форм обычно присоединены к одной или не- скольким таблицам или запросам БД. Источником данных, ото- бражаемых в них, являются поля в базовых таблицах и запросах.
Очень часто в формы добавляются элементы управления. Именно поэтому они разнообразнее других объектов. Поэтому, может быть, некоторые пользователи тратят много времени и сил на соз- дание удобных и красивых форм в своей БД.
3.11.1. Режимы формы
Форма имеет наибольшее количество режимов из всех объек- тов БД.
Режим Формы (рис. 3.43) – основной режим, т.
е. режим, в котором пользователи работают с формой.
Режим Макета – предназначен для интерактивной настройки макета формы. В режиме Макета элементы управления формы представлены в таком же виде, как и в режиме Формы (вместе с данными). В отличие от режима Конструктора здесь нет возмож- ности добавлять новые элементы управления (кроме связанных полей) и настраивать некоторые их свойства.
Режим Таблицы. В этом режиме поля данных, имеющиеся в форме, представляются в виде таблицы.