Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект лекций СУБД спец_106 и 107.doc
Скачиваний:
11
Добавлен:
29.04.2019
Размер:
18.84 Mб
Скачать

1.6. Запрос на выборку для решения задачи (пример 1)

Пример 2. Составить запрос на удаление: из таблицы ТОВАРЫ удалить записи, где Стоимость товара меньше 1000. Для этого вызывается таблица ТОВАРЫ, перетаскивается символ * и в строке Удаление выбирается Из (см. первый столбик рис.1.7). Во второй столбец, перетаскивается имя поля, для которого устанавливаются Условия.

Рис.1.7. Запрос на удаление записей

Структурированный язык запросов (SQL)

Запрос, который создается с помощью бланка QBE, будет храниться в компьютере в виде директивы SQL, называемой сообщением. При работе с Access сам язык SQL от нас обычно скрыт. Например, все операции с запросами выполняются с использованием SQL, но при этом мы видим на экране лишь бланк запроса. Сообщения SQL и окно бланка запроса связаны динамически: любое изменение в одном из них автоматически приводит к изменению в другом. Переход од одного режима к другому осуществляется через пункты меню Вид.

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

Cообщение SQL состоит из ключевых слов, а также идентификаторов и выражений Access. Наиболее важные ключевые слова в SQL:

select - первое слово всех сообщений SQL, с помощью которого проводится поиск данных в одной или нескольких таблицах в базе данных. За ключевым полем select следуют имена всех полей, которые включаются в выборку. Используя знак * после select, можно автоматически включить в запрос все поля исходной таблицы;

distinct – исключает повторяющиеся значения из поля в наборе записей, которые найдены с помощью SQL;

distinctrow – удаляет дублирующие записи из выборки;

from – указывает, какая таблица (или таблицы) содержат нужные нам поля;

join - обозначает связь между записями, содержащимися в разных таблицах;

where – обозначает условия выбора, которые должны использоваться при выборе записей для включения их в выборку;

order by – обозначает режим сортировки для набора данных;

group by – означает, что будет возвращена одна запись для каждого отдельного значения в указанном поле. Если group by включается в select, список выбора должен включать функции avg, count, sum и др.

При вводе условий выбора записей можно использовать знаки отношений, логические операции and и or, операторы: between, in, like.

Для иллюстрации синтаксиса языка SQL воспользуемся таблицей Продажи”. Пример 1. Записать сообщение SQL, для заполнения поля “Стоимость”, значение которого вычисляется по формуле: Стоимость = Продано * Цена_Ед

Select distinctrow Продажи.Продано,

Продажи.Цена_ед,

[Продано]*[Цена_ед] as Стоимость

from Продажи;

Пример 2. Найти записи с датой заказа в марте месяце.

select *

from Продажи

where month(Дата_заказа) = 3;

Пример 3. Записи таблицы, полученные в примере 2, расположить по возрастанию кода покупателя.

select *

from Продажи

where month(Дата_заказа) = 3

order by Код_покупателя;

Пример 4. Подсчитать стоимость товаров, сделанных каждым покупателем.

select distinctrow.Код_покупателя,

sum([Продано]*[Цена_ед]) as Стоимость

from Продажи

group by Код_покупателя;

Пример 5. Выбрать записи с датой заказа 31 марта 2006.

select *

from Продажи

where Дата_заказа = #3/31/06#;

Пример 6. Запрос с параметром на выборку по названию кафедры.

select *

from Кафедра

where Название=[Введите название кафедры];

1.7. Создание и редактирование форм.

Введение

Формы являются основным средством организации интерфейса пользователя в приложениях Microsoft Access. Можно создавать формы с различными целями:

- вывод и редактирование данных;

- управление ходом выполнения приложения;

- ввод данных;

- вывод сообщений;

- печать информации.

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

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

Подчиненные формы. Применяется для представления данных, находящихся в отношениях “один-ко-многим”. Например, в форме можно показывать одного студента и вузы, в которые он поступает.

Всплывающие формы. Применяется для представления информации, которая все время находится на переднем плане.

Создание формы в режиме Конструктор

Чтобы начать создание формы, нужно открыть базу данных, выбрать в окне базы данных вкладку Формы и щелкнуть на пункте меню Создать. Откроется окно диалога, представленное на рис. 1.8. В поле со списком, расположенном в нижней части окна, находится перечень всех таблиц и запросов в текущей базе данных. Необходимо выбрать таблицу или запрос, на основе, которых будет создана форма. Затем выбрать Конструктор в верхней части окна и ОК. Access откроет окно формы в режиме конструктора (рис.1.9).

Рис.1.8. Окно диалога Новая форма

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

Кнопки панели элементов имеют следующее назначение:

Выбор объекта - для выделения, изменения размера, перемещения и редактирования элемента управления.

Мастер элементов - для активизации мастера по созданию элементов управления.

Надпись - для создания элемента управления, содержащего постоянный текст.

Поле - для создания элемента управления для отображения текста, чисел, дат, времени.

Группа - для создания группы элементов управления.

Выключатель - для создания элемента управления, принимающего значение Вкл/Выкл, Да/Нет.

Переключатель и Флажок соответственно - для создания элемента управления, принимающего значение Вкл/Выкл, Да/Нет.

Рис.1.9. Окно конструктора форм с панелью элементов

Поле со списком - для создания элемента управления, который можно рассматривать как объединение двух элементов: поле и список.

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

Кнопка - для создания элемента управления Командная кнопка, с помощью которой можно запустить макрос или процедуру VBA.

Рисунок - позволяет поместить в форму статический рисунок.

Свободная рамка объекта - для включения в форму объекта из другого, поддерживающего OLE приложения. Объектами могут быть: рисунок, звуковой эффект, диаграмма и др.

Присоединенная рамка объекта - для включения в форму объекта OLE, хранящегося в базовой таблице.

Конец страницы - позволяет вставлять разрыв страницы в многостраничной форме.

Подчиненная форма/отчет - для включения в текущую форму некоторой другой формы.

Линия - для включения в форму прямых линий.

Прямоугольник - для включения в форму прямоугольника и улучшения ее внешнего вида.

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

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

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

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

Создание формы с помощью мастера

Чтобы начать создание формы с помощью мастера, нужно открыть базу данных, выбрать в окне базы данных вкладку Формы и щелкнуть на пункте меню Создать. Откроется окно диалога, представленное на рис.1.8.

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

- Доступные поля переносятся в список Выбранные поля кнопкой со стрелкой вправо;

- выбирается внешний вид создаваемой формы: в один столбец, ленточный или табличный;

- выбирается стиль оформления создаваемой формы из представленных образцов;

- вводится имя формы, под которым она будет сохранена и нажимается на кнопку Готово.

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

Создание формы на основе многотабличного запроса

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

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

Порядок создания и внедрения подчиненных форм

- выбираются таблицы (запросы), для которых будут созданы основная и подчиненная формы;

- с помощью Мастера форм создаются подчиненная и основная формы;

- в режиме Конструктора открывается основная форма. Нажимается кнопка Подчиненная форма/отчет на панели элементов;

- на свободном месте основной формы располагают элемент управления Подчиненная форма;

- в полученный прямоугольник вводится имя подчиненной формы;

- проверяются свойства подчиненной формы: Подчиненные поля и Основные поля с целью убедиться, что Access правильно связал формы

Объекты OLE в форме

Рисунки, фотографии, диаграммы и др. можно внедрять в таблицы в поля, тип данных для которых определен как Поле объекта OLE. Если на основе такой таблицы создать форму в режиме Мастера форм, то при выводе ее на экран будут выводиться и внедренные объекты. Чтобы объект обновить, нужно по нему два раза щелкнуть, Access запустит то приложение, в котором данный объект был создан и выведет на экран необходимые инструменты для его обновления. На рис. 1.10 и 1.11 приведены формы, созданные на основе нескольких таблиц.

Рис.110. Форма на основе таблиц КАФЕДРА – ПРЕПОДАВАТЕЛЬ