У нас: 141825 рефератів
Щойно додані Реферати Тор 100
Скористайтеся пошуком, наприклад Реферат        Грубий пошук Точний пошук
Вхід в абонемент


вікна База даних, перевіримо його правильність (в режимі таблиці). Він матиме вигляд, показаний на рис. 3.4.

Kilkist | Misjac | Rik

2 | 1 | 2004

1 | 2 | 2004

1 | 3 | 2004

5 | 4 | 2004

Рисунок 3.4 – Запит Oplaty_zd в режимі таблиці

Виготовлення запиту для квитанції. Запит для квитанції має містити інформацію з трьох таблиць: Platnyky_t, Oplaty_t і Fondy_t. Якби в тексті квитанції дату потрібно представити в короткому форматі (чч.мм.рр), то цього було б достатньо. Однак, для видачі назв місяців прийдеться виготовити проміжний запит Oplaty_zk, де одержати порядкові номери місяців. Тоді можна буде їх зв’язати з кодами таблиці Misjaci_t у іншому запиті Oplaty_zkm – запиті для квитанції з назвами місяців.

Запит Oplaty_zk в режимі конструктора показаний на рис. 3.5. У його верхнє поле внесені три потрібні таблиці. Оскільки таблиці мають постійний зв’язок, виготовлений нами у прикладі розділу 3.2, тому не потрібно повторно їх зв’язувати. Перенесемо з таблиць у запит такі 10 полів: Priz, Adr, Suma, Kod_p, Kod_f, Naz_f, Data, Data, Data і Data. Поле Priz з’єднаємо з першою буквою поля Im за формулою (поле Priz & пробіл & перша буква поля Im & крапка):

[Platnyky_t].[Priz]&" "&mid([Im];1;1)&"."

Для виділення з дати порядкового номера місяця, дня і року до трьох останніх полів дати застосуємо формули, відповідно:

Month([Data]), Day([Data]) i Year([Data]).

Дочекаємося, щоб конструктор задав абстрактні імена полів запиту і замінимо їх, відповідно, на: Prizw (нагадаємо, що ім’я поля не може містити крапки), Mis, Den і Rik. Решту назв полів залишимо без зміни.

Поставимо три умови співпадання даних для видачі квитанції: 1 - дати поля Data з системною, 2 - кодів платника і 3 - фонду, введених під час запуску запиту, з тими, які є в таблиці Oplaty_t. Тому в якості умови відбору записів встановимо у полі Data

Date() – функцію видачі системної дати.

Для вводу кодів під час відкриття запиту в режимі таблиці замість умов відбору в полях Kod_p та Kod_f запишемо формули-підказки, відповідно:

[Введіть код платника] i [Введіть код фонду].

Таким чином, запит Oplaty_zk є запитом з параметрами. Результати відкриття запиту в режимі таблиці показані на рис. 3.6. Під час його відкриття двічі появляється вікно з пропозицією ввести код платника (див. рис. 3.7) та фонду і полем для вводу цих кодів. Зауважимо, що запит був виготовлений 18.03.2001 р., тому саме на цю дату видана інформація. Введеними були: 2 – код платника і 1 – код фонду.

Запит Oplaty_zkm в режимі конструктора показаний на рис. 3.8. Для його виготовлення використаємо запит Oplaty_zk і таблицю Misjaci_t. Встановимо тимчасовий зв’язок між ними шляхом перетягування поля Kod_m на поле Mis. Ці поля мають однаковий тип – числовий, тому зв’язок між ними можливий. Перетягнемо у нижнє вікно необхідні поля: Prizw, Adr, Suma, Naz_f, Den, Naz_m і Rik. Запит готовий, тут не потрібні якісь операції групування, вирази чи умови відбору, вся необхідна інформація була вже відібрана в запиті Oplaty_zk. Зауважимо, що цей запит служить тільки для забезпечення словесної форми дати у тексті квитанції. Запит Oplaty_zkm відкритий в режимі таблиці, показаний на рисунку 3.9.

Виготовлення запитів для звіту При підготовці інформації для діаграми ми обійшлися одним запитом Oplaty_zd. Для квитанції – двома запитами Oplaty_zk і Oplaty_zkм, причому, якби не та забаганка – одержати словесну форму дати, можна було обійтися теж одним. А, ось, при відборі інформації для звіту мусимо робити два послідовні запити. Справа в тому, що для звіту найвигіднішим є перехресний запит, а його можна побудувати лише на основі однієї таблиці або одного запиту. З іншого боку, ні одне з них не містить усіх потрібних даних. Правда, маємо запит Oplaty_zk, який містить усі потрібні поля, та використати його неможливо, бо нас не влаштовують умови відбору – запит для квитанції містить лише записи про заданого платника і фонд на поточну дату.

Таким чином, для формування звіту мусимо мати, як мінімум, два запити. Перший слугуватиме цілям підготовки даних для перехресного запиту, він показаний на рисунку 3.10 в режимі конструктора, назвемо його Oplaty_zz – запит для звіту. У його верхній частині містяться три таблиці з готовими зв’язками, перенесені туди за допомогою вже знайомого нам вікна Додавання таблиць.

У нижнє вікно запиту перенесені поля, необхідні для звіту: Platnyk, Adr, Naz_f і Suma. Поле Prizw виготовлене за тією ж формулою, що і поле Prizw в запиті Oplaty_zk, розгляненому в розділі 3.5.2.

Зауважимо, що при виготовленні даного запиту теж можна було скористатися вже готовим запитом Oplaty_zk. Для цього його слід було скопіювати під іменем Oplaty_zz, вилучити з копії лишні і залишити потрібні чотири поля, показані на рисунку 3.10, та вилучити всі умови відбору записів.

Запит Oplaty_zz, відкритий в режимі таблиці, показаний на рисунку 3.11.

Для виготовлення другого – перехресного запиту Oplaty_zzp у вікні База даних виберемо перемикач Запити і команду Створити. Потім у вікні Новий запит відмітимо напис Перехресний запит та виконаємо команду Ok. Ці дії приведуть до появи майстра перехресного запиту, нам тільки залишається уважно придивлятися до його пропозицій і виконувати потрібні операції.

Отже, маємо кроки майстра:

майстер пропонує вибрати запит або таблицю, на основі якої буде виготовлений перехресний запит. Встановимо перемикач на Запити, зі списку виберемо Oplaty_zz. Для
Сторінки: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23