Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

6371

.pdf
Скачиваний:
0
Добавлен:
21.11.2023
Размер:
775.75 Кб
Скачать

50

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

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

тера позволяет легко перейти к окну конструктора командой "Изменить макет запроса". Примеры, когда использование мастера, по нашему мне-

нию, более рационально, рассмотрены ниже (см. раздел 3.8).

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

Рассмотрим создание запроса на выборку на примере запроса "Ту-

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

скольких таблиц.

Задание. Создать запрос "ТурыСведения" с помощью конструктора.

Порядок действий.

1. В окне "База данных" в области данных выбрать "Запросы", на-

жать "Создание запроса в режиме конструктора". В Access-2007 выбрать вкладку "Создание", группа "Другие", кнопка "Конструктор запросов".

Открывается окно конструктора запроса, поверх которого появля-

ется окно "Добавление таблицы". В нем по умолчанию активизируется вкладка "Таблицы". При необходимости можно перейти на другие вклад-

ки: "Запросы", если в создаваемом запросе будут использоваться данные из других, уже существующих, запросов; " Таблицы и запросы", если в созда-

ваемом запросе будут использоваться данные как из таблиц, так и из дру-

гих запросов.

В диалоговом окне "Добавление таблицы" надо выбрать таблицы,

данные из которых планируется включить в создаваемый запрос. Для од-

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

можно выбрать поочередно несколько таблиц, а при зажатом Shift – все

51

таблицы диапазона от верхней до нижней. После выделения названий таб-

лиц надо нажать кнопку "Добавить".

2. В окне "Добавить таблицы" выделить все названия таблиц, на-

жать "Добавить".

Окно конструктора запроса состоит из двух частей (рис. 4).

Верхняя часть – панель таблиц, содержащих данные для запроса,

представляет аналог схемы данных. В ней показаны таблицы БД с содер-

жащимися в них полями, а также связи между таблицами.

В нижней части – панели запроса – отражена структура конструи-

руемого запроса. Столбцы предназначены для ввода сведений о полях.

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

Первый способ. Поставить курсор в верхнюю ячейку (строка "По-

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

шать групповые операции (см. раздел 3.8) и ряд других действий.

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

Активизировать поле запроса можно, нажав на узкий серый прямо-

угольник над верхней ячейкой выбранного столбца.

Удалить поле из запроса можно, активизировав его и нажав клави-

шу Del.

52

53

3. Перетащить из верхней части окна в верхние ячейки столбцов нижней части последовательно имена полей, указанные в табл. 7 (строго придер-

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

Таблица 7

 

Структура запроса "ТурыСведения"

 

 

 

Таблица

 

Имя поля

 

 

 

Туры

 

КодТура

 

 

 

Туры

 

НазваниеТура

 

 

 

Страны

 

Континент

 

 

 

Страны

 

Страна

 

 

 

Страны

 

Виза

 

 

 

МестоОтдыха

 

МестоОтдыха

 

 

 

ВидОтдыха

 

ВидОтдыха

 

 

 

Туры

 

Продолжительность

 

 

 

Валюта

 

Валюта

 

 

 

Туры

 

Стоимость

 

 

 

Фирмы

 

НазваниеФирмы

 

 

 

Фирмы

 

УсловияОплаты

 

 

 

Связанные поля надо включать из исходных таблиц, а не из связан-

ных, иначе в запросе отразятся не значения реквизитов, а их коды из соот-

ветствующих полей. Так, поле "Страна" надо брать из таблицы "Страны".

Если взять его из таблицы "МестоОтдыха", то в нем отобразятся порядко-

вые номера записей из поля "КодСтраны" таблицы "Страны".

4. После ввода в запрос всех указанных полей дать команду "За-

прос" – " Запуск" в главном меню или нажав соответствующую кнопку – восклицательный знак – на панели инструментов. Также для просмотра запроса можно перейти в режим таблицы (аналогично переходу для таб-

54

лиц). В Access–2007 кнопка "Запуск" находится на вкладке "Конструктор"

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

5. В случае успешного запуска запрос можно закрыть, при этом со-

хранить его под предложенным именем, в настоящем задании – " ТурыСве-

дения".

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

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

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

тора соответствующей таблицы.

3.2. Возможности выборки. Использование фильтров

Одной из задач СУБД является выборка объектов, характеристики которых удовлетворяют определенным условиям. В реляционных БД на-

званное означает выбор записей из исходного компонента, значения одно-

го или нескольких реквизитов которого соответствуют заданным парамет-

рам. Существуют следующие варианты задания условий выборки:

1)полное соответствие – значение реквизита у выбираемых записей полностью (с точностью до символа) совпадает со значением, заданном в условии выборки;

2)неполное соответствие – значение реквизита у выбираемых запи-

сей частично совпадает со значением, заданном в условии выборки; 3) использование операторов сравнения "Больше"–" Меньше", воз-

можное для полей числового и денежного типов, а также полей да-

та/время.

В Access существует несколько возможностей задания условий.

Наиболее простое из них – использование фильтров, которое предполагает

55

выборку записей заданных значений для одного или нескольких полей ис-

ходного компонента БД.

Фильтр – это условие на выборку, создаваемое на базе исходного компонента БД. Команды работы с фильтрами находятся в меню "Записи"

подменю "Фильтр", а также могут быть заданы кнопками панели инстру-

ментов. В Access-2007 рассматриваемые команды запускаются кнопками с вкладки "Главная" из группы "Сортировка и фильтр"). Значения команд следующие:

– " Фильтр по выделенному" (в Access-2007 –" Выделение") – произ-

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

" Изменить фильтр" – пользователь входит в режим изменения фильтра;

" Применение фильтра" – производится отбор записей и на экран выводятся только те из них, которые удовлетворяют условиям, заданным с помощью фильтра;

" Удалить фильтр" (в Access-2007 – " Очистить все фильтры") – от-

меняются заданные в фильтре условия выборки.

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

Порядок действий следующий.

1. Открыть запрос "ТурыСведения" в режиме таблицы (команда

"Открыть" или двойной щелчок на названии запроса).

2. Сохранить запрос под другим именем – " ТурыФильтр". Для этого дать команду "Файл" – " Сохранить как…" и в появившемся диалоговом окне ввести нужное имя запроса. В Access–2007 нажать кнопку Office,

дать команду "Сохранить как…" и задать "Сохранить объект как…".

В появившемся далее окне изменить вручную имя запроса, введя его с кла-

виатуры.

56

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

3. Дать команду "Изменить фильтр".

В Access-2007 команды для работы с фильтром находятся на вклад-

ке "Главная" в группе "Сортировка и фильтр". Команда "Изменить фильтр"

находится в раскрывающемся списке кнопок "Дополнительно".

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

5.Дать команду "Применение фильтра".

При повторном открытии запроса фильтр автоматически не вклю-

чается. Для его включения надо нажать кнопку "Применение фильтра".

В реальной практике сохранять каждый созданный фильтр в от-

дельном запросе не имеет смысла. Можно применять его в исходном ком-

поненте БД, изменяя при необходимости.

Отменить условия, заданные в фильтре, можно командой "Очистить бланк". После этого надо дать команду "Применение фильтра"(!), а не "За-

крыть". Именно такая последовательность команд приведет к очистке фильтра.

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

– связь "И" (AND), означающая, что обязательно должно выпол-

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

– связь "Или" (OR), означающая, что должно выполняться хотя бы одно из нескольких заданных условий.

Для выполнения условия "И" значения полей задаются в одной строке условия отбора, условия "Или" – в разных строках. Условие "Или"

57

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

Задание Б. Создать фильтр для отбора туров с целью отдыха на пляже в Европе или Азии.

В задании присутствуют оба условия. Условие "Или" определяет,

что возможен выбор любого из заданных континентов – или Европы, или Азии. Условие "И" определяет, что должен быть выбран тур, удовлетво-

ряющий обоим условиям – и по виду отдыха (пляжный), и по одному из континентов.

Порядок действий.

1. Открыть запрос "ТурыСведения" в режиме таблицы (команда

"Открыть").

2.Сохранить запрос под другим именем – " ТурыФильтр2".

2.Дать команду "Изменить фильтр".

3.В поле "Вид отдыха" в строке условий отбора выбрать из раскры-

вающегося списка "Пляжный", в поле "Континент" – " Европа".

4. Нажать вкладку "Или" в левом нижнем углу экрана справа от вкладки "Найти". После этого появится новая пустая строка условия отбо-

ра.

5.В поле "Вид отдыха" выбрать – " Пляжный", в поле "Континент" –

"Азия".

6.Дать команду "Применить фильтр" (или "Применение фильтра", в

зависимости от версий Access).

7.Закрыть запрос с сохранением.

58

3.3.Запрос на выборку по полному соответствию

сиспользованием конструктора

Выборку по полному соответствию заданных условий можно про-

водить не только с использованием фильтра, но и задать в специально соз-

данном запросе.

Задание. Создать запрос для выбора пляжного тура в азиатскую страну.

Порядок действий.

1. Открыть запрос "ТурыСведения" в режиме конструктора.

В Access-2007 это действие проще выполнить, нажав правую кноп-

ку мыши на имени запроса в области данных и выбрав в быстром меню нужную команду.

2. Дать команду "Файл" – " Сохранить как…" ( в Access-2007 с по-

мощью кнопки Office) и сохранить запрос под именем "АзиатскийПляж". 3. В строку "Условия отбора" ввести:

в поле "Континент" – " Азия";

в поле "ВидОтдыха" – " пляжный".

Условия отбора надо заключать в кавычки. Если пользователь за-

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

4.Выполнить запрос.

3.4.Запрос на выборку с использованием операторов сравнения

Для выборки значений из полей вычисляемых типов в Access мож-

но использовать следующие операторы сравнения: "<" – " Меньше" (строгое неравенство);

"<=" – " Меньше или равно" (нестрогое неравенство); "<>" – " Не равно"; "= " – " Равно";

">" – " Больше" (строгое неравенство);

59

">=" – " Больше или равно " (нестрогое неравенство); "Between" – " между" (двойное нестрогое неравенство).

Вводить эти операторы можно с клавиатуры или используя окно

"Построитель выражений", описанное в разделе 3.7.

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

на конструктора запроса.

Задание 3.4. Создать запрос на выбор пляжного тура в азиатскую страну продолжительностью от 7 до 12 дней и стоимостью не более 1500$.

Порядок действий.

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

2.Дать команду "Файл" – " Сохранить как…" ( в Access-2007 с по-

мощью кнопки Office) и сохранить запрос под именем "АзиатскийПляж2". 3. В поле "Стоимость" ввести <=1500. Выполнить запрос (для кон-

троля). Вернуться в режим конструктора.

4. В поле "Продолжительность" ввести Between 7 And 12. Выпол-

нить запрос.

С помощью оператора Between задается нестрогое неравенство.

Следовательно записи, значения реквизита которых равны границам зада-

ваемого интервала, также отражаются в созданном запросе.

3.5. Запрос с параметрами

Запрос с параметрами является разновидностью запроса на выбор-

ку. Его отличие от других подобных запросов в том, что перед его выпол-

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]