- •Основы работы в субд microsoft access
- •Основные элементы интерфейса Access. Объекты Access
- •Основные свойства и параметры таблиц базы данных
- •Типы данных и их представление
- •Продолжение табл. 1
- •Общее проектирование и цель создания бд
- •Определение связей между таблицами
- •Контрольные вопросы
- •Создание пустой базы
- •Цель работы
- •Изменение типа полей и реорганизация таблиц
- •Ввод и редактирование данных в таблице
- •Форматирование данных и контроль ввода информации
- •Форматирование
- •Использование масок ввода и проверка значений
- •Проверка вводимых значений
- •Создание простого списка подстановки
- •Другие опции области Свойства поля
- •Ввод данных в таблицы
- •Организация связей между таблицами
- •Обеспечение целостности данных в базе
- •Контрольные вопросы
- •Оформление отчета
- •Цель работы1
- •Назначение и типы запросов
- •Выражение и его компоненты
- •Операторы
- •Литералы
- •Идентификаторы
- •Функции
- •Использование Построителя выражений
- •Запросы на выборку
- •Построение запросов с условием отбора
- •Построение запросов с параметром
- •Вычисления в запросах
- •Построение вычисляемых полей
- •Групповые операции и вычисления. Итоговые запросы
- •Контрольные вопросы
- •Оформление отчета
- •Цель работы2
- •Назначение формы
- •Использование автоформы
- •Создание форм с помощью Мастера
- •Конструктор форм
- •Структура формы
- •Создание и редактирование связанных записей
- •Свойства полей. Внедрение и просмотр полей типа ole
- •Создание поля со списком
- •Создание отчетов базы данных
- •Использование функций автоотчета
- •Использование Мастера отчетов
- •Настройка и форматирование отчета
- •Вставьте поле, в котором будет вычисляться текущий учебный год:
- •Завершение построения базы данных. Создание командных кнопок и кнопочных форм Элемент управления Кнопка
- •Создание кнопочных форм
- •Контрольные вопросы
- •Оформление отчета
- •Пункт 9. Список кураторов
- •Задание 10. Построение запросов с условием отбора
- •Запрос Список групп
- •420066, Казань, Красносельская, 51
- •420066, Казань, Красносельская, 51
Построение запросов с условием отбора
Условиями отбора называют ограничения, которые накладываются на запрос или фильтр для отбора конкретных записей. Например, требуются сведения не обо всех студентах, а только о тех, кто обучается на бюджетной основе. Для этого следует указать условия отбора, которые позволят включать в набор записей только те, у которых в поле Paym (Форма опл) находится значение "Б" (рис. 29).
Рис.
29. Для поля Paym
указано
Условие
отбора
для студентов,
обучающихся на
бюджетной основе. В результирующей
таблице
столбец Paym
отражаться не будет, т.к. отсутствует
галочка
в строке Вывод
на экран
Для того чтобы задать в бланке Условие отбора для конкретного поля, введите выражение в ячейку строки Условие отбора для этого поля. Причем поле, участвующее в отборе необязательно отражать в результирующей таблице. Для этого нужно убрать галочку в строке Вывод на экран.
Можно одновременно определить несколько условий отбора для одного поля или для разных полей. При вводе выражений в несколько ячеек Условие отбора Access объединяет их с помощью оператора And или Or. Если выражения находятся в разных ячейках одной и той же строки, используется оператор And. Если выражения находятся в разных строках бланка, применяется оператор Or.
Например, если требуется получить список студентов, не подлежащих призыву в армию, то в него войдут все девушки (поле pol=”ж”), студенты имеющие льготы (поле Lgoty= ДА), мужчины, дата рождения которых позднее, т.е. меньше 1 января 1985 года (на 2003 год). Тогда бланк запроса будет иметь вид, аналогичный показанному на рис. 30.
Рис.
30. Критерий запроса включает три условия
для разных полей,
объединенных
оператором OR.
Результирующие записи должны
удовлетворять одному из трех условий
ЗАДАНИЕ 10. Построение запросов с условием отбора
Сформировать запрос Запрос1 на получение списка студентов-мужчин, обучающихся на коммерческой основе. В результирующей таблице выведите только список фамилий. Рекомендация: условия для требуемых полей записывать в одной строке.
Сформировать запрос Запрос2 на получение списка студентов-мужчин, дата рождения которых находится в интервале от 1.01.1983г. до 31.12.1983г. Рекомендация: условия для выбора можно задать с помощью операторов >=#1.01.83# And <= #1.01.83# или Between #1.01.83# And #31.12.83#
Построение запросов с параметром
Если приходится часто выполнять один и тот же запрос на выборку, изменяя при этом условия отбора, то сэкономить время позволяет запрос с параметрами. Запрос с параметрами не требует каждый раз вносить изменения в бланк запроса; вместо этого выводится приглашение пользователю ввести условия отбора. Для каждого поля допускается определение набора параметров.
Для каждого поля, которое предполагается использовать как параметр, введите в ячейку строки Условие отбора текст приглашения, заключенный в квадратные скобки. Это приглашение будет выводиться при запуске запроса. Текст подсказки должен отличаться от имени поля, но может включать его.
Например, сделаем запрос на отсрочку от армии (рис. 30) более универсальным: возраст призыва будет меняться в зависимости от времени призыва. Для этого выполните следующее задание.
ЗАДАНИЕ 11. Построение запросов с параметром
Используя буфер обмена, скопировать в базу данных запрос Отсрочка от армии на 2003год. Дать ему новое имя Отсрочка от армии.
Открыть новый запрос в режиме Конструктора. В ячейке Условие ввода ввести: <[Ввести дату призыва дд.мм.гг.] (рис. 31 а).
Для предварительного просмотра запроса с параметрами до его сохранения нажмите кнопку на панели инструментов и введите значение параметра. Для возвращения в режим конструктора запроса нажмите кнопку
на панели инструментов. При выполнении
запроса программа Access открывает
диалоговое окно с введенной вами в
квадратных скобках подсказкой
(рис. 31 б).
В это окно необходимо ввести нужную
величину.
Активизируйте запрос несколько раз, задавая разные значения параметра. Посмотрите, как меняются результаты выполнения запроса.
Скопируйте Запрос2 из ЗАДАНИЯ 10, дав ему имя Запрос3. Откройте его в режиме Конструктора.
Для того чтобы вывести приглашения "Введите начальную дату:" и "Введите конечную дату:" для определения диапазона отбираемых значений, введите Between [Введите начальную дату :] And [Введите конечную дату:] в ячейку строки Условие отбора в столбце поля Dtr (Дата рожд). Поработайте с этим запросом.
а)
Рис. 31.
а) Фрагмент бланка запроса, в котором
параметром является условие
отбора для поля Dtr
(Дата рожд); б)
Диалоговое окно для ввода параметра
б)
Для того, чтобы находить в поле не конкретное значение, а только его фрагмент используют оператор Like. Например, если требуется отобрать студентов, фамилия которых начинаются на букву «А», в бланке запроса для поля ФИО можно записать условие Like "А*".
Для таблицы Ведомость создать запрос, который выводил результаты экзаменов за I семестр для любой группы.
Для этого создайте новый запрос в режиме конструктора на основе запроса Общая ведомость. Добавьте поля ФИО, Nst, 1_p, 1_e1,1_e2, Ngr. В последнем поле Ngr задайте условие отбора Like [Ввести номер группы]. Дайте ему название Ведомость группы за I семестр.
Проверьте, как работает данный запрос. Обратите внимание, что при вводе в поле параметра группы можно не соблюдать регистр букв и не надо набирать дефис. Например, чтобы получить ведомость группы А‑2, надо ввести а2.
