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

asoi

.pdf
Скачиваний:
7
Добавлен:
01.04.2015
Размер:
1.91 Mб
Скачать

■ Закройте

окно запросов посредством управляюще-

го меню. Запрос

сохраните с названием Номера телефонов

 

.

Примечание. Имя поля из списка можно перенести в спецификацию шаблона путем перетаскивания с помощью манипулятора(леваякнопкамышиудерживаетсянажатой). Еслипринажатии клавиши [Ctrl] в списке были маркированы сразу несколько имен полей, то вся группа целиком может быть перенесена в областьспецификаций. ЭтаобластьназываетсятакжеQBE-область

(Query by Example – Запрос по образцу).

Подготовка запроса для выделения из базы части информации (фамилий и телефонов) завершена. Сохраненный запрос будет присутствовать в окне базы в списке объектов: он виден на экране в разделе Запросы.

Обработку запроса запускают двумя способами: посредством двойного щелчка на его имени и с помощью команды Открыть в контекстном меню.

3.2. Мастер запросов

НавкладкеСозданиещелкнитеназначкеМастерзапросов

.

В первом окне мастера выберите Простой запрос. Нажмите ОК.

ВраскрывшемсяспискеТаблицыизапросыпервогоокна мастера выберите таблицу Список.

В списке Доступные поля щелкните на строке Дата.

Щелкните на кнопке , чтобы переместить выделенное поле в список Выбранные поля.

Аналогично в список Выбранные поля добавьте поле

Описание таблицы Список,

а также из таблицы Адреса выберите поля Фамилия и Имя

(рис. 46).

41

Рис. 46. Окно создания простых запросов

Щелкните на кнопке Далее.

Введите имя запроса Перечень контактов и щелкните на кнопке Готово.

Рис. 47. Окно запроса Перечень контактов

■ На экране появится спроектированный запрос (рис. 47), в котором содержатся данные из двух корректно связанных таблиц

Адреса и Список.

3.3. Применение специальных критериев

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

42

Создайте запрос в режиме конструктора запросов.

В открывшемся диалоговом окне Добавление таблицы откройте раздел Таблицы и выберите элемент Адреса, щелкните на кнопке Добавить, затем на кнопке Закрыть.

В окне спецификации запроса в списке полей таблицы Адреса выполните двойной щелчок на элементах Код адреса, Фа-

милия, Имя, Почтовый индекс, Населенный пункт, Адрес.

В QBE-области в поле Условие отбора колонки Код адреса введите =«Б». Кавычки обязательны (рис. 48).

Критерий для колонки Почтового индекса должен быть введен в виде >=114000 and <=114999.

Рис. 48. Конструктор запроса

Выполните запрос, переключившись в режим таблицы. Введенным критериям – индекс в интервале [114000; 114999] и код адреса Б – соответствует только одна запись (рис. 49).

Сохраните запрос с именем Почтовый индекс 114.

Рис. 49. Окно запроса Почтовый индекс 114

Пример 2. Все строки в QBE-области, расположенные под строкой с обозначением Условия выбора, также могут использоваться для спецификации критериев. Таким образом, для одной колонки могут быть определены два, три или более критериев

43

отбора. Каждый отдельный элемент (строка) критерия рассматривается (в общем случае) как ИЛИ-условие (Or). Это значит, что отбраны будут те записи, которые удовлетворяют хотя бы одной из строк критериев. Если, к примеру, необходимо ограничить выбор одной определенной областью почтовых индексов (110000...150000), то поставленной цели нельзя добиться, сформулировав следующую пару строк критериев:

Поле

 

Критерии

 

Почтовый индекс

>110000

 

<150000

 

 

Обработка этого критерия привела бы к индикации всех записей. Ведь любой индекс удовлетворяет первому или второму условию. Чтобы объединить ряд критериев (условий отбора) по AND (И), следует привести их в одной строке Условие отбора

столбца Почтовый индекс: Between 110000 And 150000 (рис. 50).

Рис. 50. Окно запроса в режиме проектирования

Теперь будут приняты только те записи, которые удовлетворяют обоим условиям (>110000 И <150000).

Рис. 51. Окно построителя выражений

44

Between желательно не набирать вручную. Щелкните правой кнопкой мыши в QBE-области в поле Условие отбора колонки Почтовый индекс и выберите в контекстном меню Построить

Щелкните на папке Операторы.

В среднем списке выберите категорию Сравнения.

Двойным щелчком на имени Between добавьте ее в поле Выражение. Вместо первого аргумента укажите левую границу интервала: 110000, вместо второго аргумента правую границу

150000 (рис. 51).

Задание. Создайте на основании таблицы Адреса и сохранитеданныйзапроссименемПочтовыеиндексы(110000 – 150000).

Пример 3. Исключить из рассмотрения определенной группы данные (скажем, все адреса с индексом 114000) можно с помощью следующего критерия:

Поле

Почтовый индекс

Условие отбора

Not 114000

В условии отбора поля Почтовый индекс с помощью построителя выражений (Операторы / Логические / Not) можно записать условие Not 114000 (рис. 52).

Рис. 52. Окно построителя выражений

45

На этот раз можно не применять никаких кавычек. Использованный критерий можно задать и в другой форме: <>114000 (рис. 53).

Рис. 53. Окно запроса в режиме проектирования

Задание. Создайте на основании таблицы Адреса и сохраните данный запрос с именем Почтовые индексы <>114000.

Пример 4. Создайте запрос с помощью специальных критериев, в результате работы которого можно будет увидеть записи, Почтовый индекс которых содержится в интервале (110000; 150000) и не равен 123456. Полученный запрос сохраните с име-

нем Пример 4.

Задание. Создайте запрос, в котором будут присутствовать только жители Москвы (с полями: Фамилия, Имя, Населенный пункт, Адрес). Данные должны быть отсортированы по двум полям – Фамилия и Имя. Сохраните полученный запрос с именем Москвичи и покажите результат преподавателю.

3.4. Условие отбора

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

Скопируйте запрос Перечень контактов с именем Контак-

ты января.

Щелкните правой кнопкой мыши по значку запроса Перечень контактов и в контекстном меню выберите команду Копи-

ровать.

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

Вставить.

46

■ В открывшемся окне введите имя запроса Контакты ян-

варя.

Выберите в запросе Контакты января контакты, приходящиеся на январь 2012 г.:

1.Откройте запрос Контакты января в режиме конструк-

тора.

2.В бланке запроса щелкните на ячейке Условие отбора первогостолбцаправойкнопкоймышиивыберитевконтекстном

меню команду Построить

. Откроется окно по-

строителя выражений.

 

3.В левом списке построителя щелкните на папке Опера-

торы.

4.В среднем списке выберите категорию Сравнение.

5.В правом списке дважды щелкните на пункте Between, чтобы добавить этот оператор в поле формулы.

6.Двойным щелчком левой клавиши мыши выделите в поле формулы первый местозаполнитель «Выражение».

7.В левом списке построителя выражений двойным щелчком откройте папку Функции.

8.Щелкните на папке Встроенные функции.

9.В среднем списке построителя выражений щелкните на пункте Дата / время.

10.В правом списке дважды щелкните на функции DateValue, чтобы заменить ею местозаполнитель «Выражение».

11.Нажмите два раза клавишу ß, выделив местозаполнитель

«stringexpr».

12.Введите текст «1.01.2012».

13.Повторяя шаги 6-12, замените второй местозаполнитель

«Выражение» на выражение DateValue(«31.01.2012»).

Увас должна получиться формула

Between DateValue (“1.01.2012”) And DateValue (“31.01.2012”). Она проверяет условие нахождения даты в интервале от 1 до 31 января 2012 г., т.е. отбирает те записи, значения поля Дата которых относятся к январю 2012 г.

14.Щелкните на кнопке ОК. Построенная формула появится в ячейке Условие отбора первого столбца Дата.

15.Сбросьте флажок Вывод на экран первого столбца запроса (рис. 54).

47

Рис.54. Скрытие поля

 

16. Щелкните по кнопке

Режим табли-

цы и выполните запрос. Новый результат показан на рис. 55.

Рис. 55. Контакты за январь 2012 г. (без вывода на экран даты)

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

Рис. 56. Контакты за январь 2012 г. (с выводом на экран даты)

48

Создание третьей таблицы (Торговля).

1. Спроектируйте таблицу оборотов (рис. 57) и заполните ее,

как показано на рис. 58.

 

Поле ID, Тип данных Счетчик, Ключевое поле

;

Поле Объема операций, Тип данных Денежный, Число десятичных знаков 2;

ПолеКод_Контактасодержитинформациюоклиенте, скоторым производилась операция, Тип данных Числовой, Размер поля Длинное целое;

Поле Дата продажи, Тип данных Дата/время, Формат поля Краткий формат даты, Значение по умолчанию Date(), Условие на значение >DateValue(“01.01.2012”), Сообщение об ошибке

Дата введена неверно.

2. Сохраните таблицу с именем Торговля (рис. 57, 58).

Рис. 57. Конструктор таблицы Торговля

3. Сформируйте связь между таблицами Адреса и Торговля через отношения между полями Код_Контакта этих таблиц.

■ Закройте все участвующие в связи таблицы.

49

Рис. 58. Таблица регистрации торговых операций

Выберите на вкладке Работа с базами данных команду

Схема данных.

Если диалоговое окно Добавление таблицы не появляется на экране автоматически (схема данных не является пустой),

следует выбрать команду Добавление таблицы

на

вкладке Конструктор.

 

Из приводимого списка в разделе Таблицы следует выбрать таблицу Торговля и нажать кнопку Добавить, затем нажать кнопку Закрыть.

В окне Схема данных появятся таблицы Адреса, Список и Торговля со списками полей.

С помощью мыши перетащите поле Код_Контакта, которое используется для установки связи, из списка полей таблицы Адреса к соответствующему полю таблицы Торговля. Переносимое поле является ключевым (выделяется в списке полей полужирным шрифтом) и принадлежит главной таблице (Адреса); таблица Торговля в данном случае является подчиненной.

50

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