Комплекс лабораторных работ в среде access microsoft Access является настольной субд реляционного типа, которая позволяет выполнять

Вид материалаДокументы

Содержание


Запросы с параметрами
Подобный материал:
1   2   3   4   5   6   7

Запросы с параметрами


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

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

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

Пример


Откройте в режиме конструктора запрос SmartStudent. Вместо числа "50" введите следующий текст "[Введите уровень интеллекта:]". Сохраните запрос под другим именем, выбрав в меню пункт Файл, Сохранить как и в открывшемся диалоговом окне выделив радиокнопку "В текущей базе данных", набрав новое имя запроса в поле ввода и нажав кнопку ОК. Откройте запрос из окна базы данных. Сначала откроется диалоговое окно, в котором будет выведен текст "Введите уровень интеллекта:" и расположено поле ввода. В поле ввода введите значение 80 и нажмите кнопку ОК. В окне появится результат запроса, содержащий две строки для студентов, уровень интеллекта которых превосходит введенное значение – 80.
  1. Создайте запрос с параметрами, который позволит получить только фамилии студентов, интеллектуальный уровень которых находится в диапазоне от 0 до первого параметра и от второго параметра до 100 включительно.
  2. Создайте запрос с параметрами, который позволит получить названия предметов, которые ведут преподаватели, работающие на факультете, название которого является параметром.

Формы


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

Чтобы создать форму, необходимо в окне базы данных перейти на вкладку Формы и нажать кнопку Создать, при этом откроется окно Конструктора форм.

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

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

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

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

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

Пример


Создадим форму для просмотра результатов запроса SmartStudent.

В окне базы данных перейдите на вкладку Формы и нажмите кнопку Создать.

Выберите в меню пункт Вид, Свойства. В открывшемся окне перейдите на вкладку Все и в строке «Источник записей» из раскрывающегося списка выберите запрос SmartStudent, в строке «Разрешить изменение» установите значение «Нет», в строке «Разрешить удаление» установите значение «Нет», в строке «Разрешить добавление» установите значение «Нет», тем самым форма будет предназначена только для просмотра результатов запроса.

Выберите в меню пункт Вид, Список полей. Перенесите из него в область данных поле FIO. На форме появятся две области: область слева – надпись, область справа – поле. В левой области измените подпись, введя "ФИО" вместо "FIO:". С помощью мыши настройте размеры и расположение областей. Когда Вы щелкаете мышью по какому-либо элементу управления в окне Свойства отражаются характеристики этого элемента управления, а заголовок окна содержит название элемента управления. Перенесите на форму из окна еще два поля Departmrnt и Photo, настройте их характеристики: измените подписи "Факультет" и "Фотография", расположите все элементы управления удобным для восприятия образом.

Теперь настроим заголовок формы. В меню выберите пункт Вид, Заголовок/примечание формы. К форме будут добавлены две области: выше области данных появится область Заголовок формы, а ниже – Примечание формы. На панели инструментов Панель элементов найдите кнопку с подсказкой Надпись, на ней нарисованы две буквы "Аа", нажмите ее и щелкните мышкой в области Заголовок формы, после курсора введите текст "Лучшие студенты университета". Настройте характеристики надписи, изменив цвет текста, размер шрифта.

Высоту области Примечания формы сделайте нулевой.

Закрыв окно формы, сохраните ее под именем "Студенты".

Откройте форму, нажав кнопку Открыть в окне базы данных, и просмотрите записи.

На рисунке представлено окно Формы Студенты



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

Подчиненная форма связана с главной с помощью свойств Основные поля и Подчиненные поля элемента управления Подчиненная форма/отчет. Эти поля автоматически заполняются при вводе значения свойства Объект-источник на основе заданных связей между таблицами. Если связи не заданы (например, когда источником данных в форме является запрос), то эти свойства необходимо заполнить вручную. В свойстве Подчиненные поля необходимо ввести имя связующего поля из таблицы или запроса, на котором базируется подчиненная форма (т.е. имя поля внешнего ключа). В свойстве Основные поля необходимо ввести имя связующего поля из таблицы или запроса, на котором базируется главная форма (т.е. имя ключевого поля).

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

Внешний вид формы определяется значением свойства Режим по умолчанию для формы.
  1. Создайте форму для просмотра всех сведений о преподавателе с указанием предметов, которые он ведет и общей нагрузкой, выраженной в количестве часов, а также с фамилиями учащихся, научным руководителем которых он является. Используйте подчиненные формы табличного формата для предметов и ленточного для фамилий студентов. Для расчета общей нагрузки используйте элемент управления поле, в свойстве Данные которого постройте необходимое выражение. Сохраните форму под именем Преподаватели.
  2. Создайте форму для просмотра сведений о факультете с указание названия факультета, списком преподавателей, работающих на этом факультете, списком студентов, обучающихся на факультете и имеющих уровень интеллекта ниже введенного пользователем значения, общим количеством преподавателей, средним интеллектуальным уровнем студентов этого факультета. Выбор названия факультета должен производиться из раскрывающегося списка. Используйте подчиненные формы ленточного формата и для студентов и для преподавателей. В подчиненной форме для студентов должны отображаться поля ФИО и Уровень интеллекта студента. В подчиненной форме для преподавателей должны отображаться ФИО и название должности, занимаемой преподавателем. Для подсчета количества и среднего используйте элемент управления поле. Сохраните форму под именем Факультеты.