Практикум по Microsof access

Лабораторная работа № 11

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

Аналогично создайте еще несколько запросов по таблице «Регистрация междугородных переговоров».

«Запрос по заданной дате»: отобрать информацию о звонках, сделанных 18-го марта 2007 года. Для этого в поле Дата введите Условие отбора =#18.03.07#.

«Запрос по заданному периоду времени»: отобрать информацию о звонках, сделанных с 18-го марта 2007 г. по 21-е марта 2007 г. Для этого в поле Дата введите Условие отбора Between #18.03.07# And #21.03.07#.

«Запрос по заданной длительности»: отобрать информацию о звонках с длительностью разговора меньше семи минут. Для этого в поле Длительность разговора введите Условие отбора <7.

Шаг 10. Создание запроса с параметром.

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

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

Введите в ячейку в строке Условие отбора поля Номер телефона условие, содержащее шаблон параметра, имеющий вид квадратных скобок с содержащимся в них текстом приглашения. Например, [Введите номер телефона].

 

Рис. 38

Закройте запрос, сохранив его под названием «Пример запроса с параметром». Выполните запрос. Введенный текст приглашения будет выведен как подпись поля, в которое вводится параметр запроса. Введите значение параметра. Например, номер телефона 4448976 и нажмите кнопку  OK .

Рис. 39

 

Шаг 11. Создание запроса с вычисляемым полем.

Требуется вычислить стоимость каждого разговора. Для этого понадобится поле Длительность разговора из таблицы «Регистрация междугородных переговоров» и поле Стоимость 1 мин из таблицы «Справочник кодов и тарифов». Их произведение и есть стоимость для каждого телефонного разговора.

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

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

В строке Поле бланка запроса наберите Стоимость: [Длительность разговора]*[Стоимость 1 мин]. Стоимость: – имя вычисляемого поля. В режиме таблицы оно становится заголовком столбца.

 

Рис. 40

 

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

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

 

 

Рис. 41

Если при вычислении стоимости каждого разговора учитывать различный тариф для личного и служебного телефонов и считать минуту разговора со служебного в 3 раза дороже, то запрос с вычисляемым полем Стоимость следует создавать так:

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

- добавить в запрос все три таблицы,

- поместить в бланк запроса поля Номер телефона, Код, Длительность разговора, Дата,

- в пятом столбце строки Поле набрать без пробелов: Стоимость: IIf ([Личный]=Да; [Длительность разговора]*[Стоимость 1 мин]; [Длительность разговора]*[Стоимость 1 мин]*3).

! IIf – это функция. Она возвращает одно из двух значений, в зависимости от истинности или ложности условия (так же, как функция ЕСЛИ в Microsoft Excel). Структура функции IIf тоже аналогична структуре функции ЕСЛИ: (условие; значение если истина; значение если ложь).

Закройте и сохраните запрос под названием «Запрос с вычисляемым полем». Выполните запрос.

Шаг 12. Создание извещений об оплате услуг МГТС.

В окне База данных выберите значок Отчеты в списке Объекты и нажмите кнопку  Создать . В окне Новый отчет выберите Мастер отчетов и нажмите кнопку  ОК . Или выберите пункт Создание отчета с помощью мастера.

 

Рис. 42

В окне Создание отчетов в списке Таблицы/запросы выберите пункт Таблица: Справочник абонентов МГТС.

 

Рис. 43

Переместите поля Номер телефона, Фамилия ИО, Адрес, Личный из поля списка Доступные поля в поле списка Выбранные поля с помощью кнопки .

Раскройте список Таблицы/Запросы и выберите пункт Запрос: Стоимость междугородных переговоров.

 

Рис. 44

Переместите поля Код, Длительность разговора, Дата, Стоимость из поля списка Доступные поля в поле списка Выбранные поля.

 

Рис. 45

Нажмите кнопку  Далее .

 

Рис. 46

Нажмите кнопку  Далее .

 

Рис.47

Нажмите кнопку  Далее .

 

Рис. 48

Нажмите кнопку  Итоги... .

 

Рис. 49

Установите Флажок в строке Стоимость столбца Sum. Нажмите кнопку  ОК . В окне Создание отчетов нажмите кнопку  Далее .

 

Рис. 50

Выберите параметр структура 1 и нажмите кнопку  Далее .

 

Рис. 51

Выберите стиль оформления и нажмите кнопку  Далее .

 

Рис. 52

Введите имя отчета Извещение и нажмите кнопку  Готово . Т.к. выбрана опция Просмотреть отчет, то созданный отчет «Извещение» сразу открывается.

 

Рис. 53

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

В окне базы данных нажмите значок Отчеты и откройте «Извещение» в режиме конструктора.

 

Рис. 54

Измените высоту раздела Заголовок группы ‘Номер телефона’. Для этого установите указатель на нижнюю границу раздела и переместите указатель вниз.

 

Рис. 55

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

 

Рис. 56

Выделите указателем элемент, в котором помещен текст Извещение. Перетащите его из раздела Заголовка отчета в раздел Заголовок ‘Номер телефона’.

Удалите разделы Заголовок отчета, Примечание отчета, Нижний колонтитул и Верхний колонтитул. Для этого нажмите правую кнопку мыши на названии любого из разделов и поочередно выберите пункты Заголовок/примечание отчета, Колонтитулы. То же самое можно сделать из меню командами Вид ® Заголовок/примечание отчета и Вид ® Колонтитулы.

 

 

Рис. 57

Выделите элемент (текст) в разделе Примечание группы ‘Номер телефона’ в котором помещен текст ="Итоги для " & "'Номер телефона' = " & " "... и удалите его клавишей  Delete .

! Удалить текст внутри элемента управления и удалить сам элемент управления – это различные действия. Текст внутри элемента управления удаляется так: указателем мыши ставится курсор внутрь элемента управления и стираются буквы кнопками  Delete  или  Backspace . В результате элемент управления существует, но он пуст. Сам элемент управления удаляется так: указателем мыши нажать на границу элемента управления так, чтобы появилось обрамление с черными квадратными метками по контуру, и нажать кнопку  Delete .

Выделите элемент в разделе Примечание группы ‘Номер телефона’ с надписью Sum и измените ее на надпись Итого. Закройте и сохраните отчет «Извещение».

В окне базы данных выберите значок Отчеты и нажмите кнопку  Просмотр , либо дважды щелкните левой кнопкой мыши на отчете «Извещение».

 

Рис. 58

Информатика лекции и контрольные