Створення таблиць
Створюємо таблиці в режимі Конструктора відповідно до їх опису у фізичній моделі та в тому ж порядку. При створенні таблиці «Замовлення» враховуємо, що для даних поля «Дата оплати» важливо, щоб їх значення не були меншими за дані поля «Дата замовлення». Оскільки мова йде про порівняння даних двох полів, то для встановлення перевірки скористаємось властивостями таблиці. Для цього: зберігаємо таблицю® відкриваємо вікно Свойства таблицы (один з варіантів: натискаємо Alt+Enter)® у вікні Свойства таблицы в полі Условие на значение вводимо вираз: IIf(IsNull([Дата оплати]);Истина;[Дата замовлення]<=[Дата оплати])[3]. Для виводу повідомлення заповнюємо поле Сообщение об ошибке: вводимо вираз «Невірно введено дату оплати». Виходимо з вікна, натиснувши кнопку Закрыть . Для створення складеного ключа в таблиці «Вміст замовлення» виділяємо обидва поля («Номер замовлення» та «Модель») і натискаємо кнопку Ключевое поле. 4.1.1. Створення списку елементів управління у полі (Поле со списком) Для полегшення вводу даних у поля, що відповідають зовнішнім ключам, створюємо елемент управління Поле со списком. У таблиці «Монітор» для поля «Код виробника» виділяємо поле «Код виробника»® в області Свойства поля переходимо на вкладку Подстановка.
У таблиці «Замовлення» для поля «Код клієнта»:
У таблиці «Вміст замовлення» для поля «Номер замовлення»:
У таблиці «Вміст замовлення» для поля «Модель»:
4.2. Встановлення зв’язків між таблицями Знаходячись у вікні БД, визиваємо вікно Схема данных . Додаємо всі таблиці. Відповідно до логічної схеми встановлюємо зв’язки. Для кожного зв’язка встановлюємо опції «Обеспечение целостности данных», «Каскадное обновление связанных полей», «Каскадное удаление связанных полей». Рис. 3. Схема даних 4.3. Створення інтерфейсу користувача 4.3.1. Форма «Товар» Для створення форми, за допомоги якої будемо вводити всі дані про монітори, будуємо ієрархічну форму: головна форма – «Товар» (на основі таблиці «Фірма-виробник»), підлегла форма – «Моделі» (на основі таблиці «Монітор»). Починаємо зі створення підлеглої форми «Моделі». У вікні БД переходимо на вкладку Формы, обираємо команду Создание формы в режиме конструктора. Для виклику властивостей форми у вікні Форма на порожньому місці визиваємо контекстне меню® команда Свойства. У вікні властивостей форми® вкладка Данные® властивість Источник записей® вибираємо зі списку таблицю «Монітор», при цьому з’являється вікно списку полів[4] таблиці «Монітор». Виділяємо всі поля, крім «Код виробника», і перетягуємо на форму. Рис. 4. Вигляд підлеглої форми після переміщення полів Налаштовуємо відображення даних у вигляді звичайної таблиці. 1. Розміщуємо об’єкти (надписи та поля) вертикально один до одного. Рис. 5. Вигляд підлеглої форми після розміщення об’єктів 2. Відокремлюємо голівку таблиці («шапку»): визиваємо контекстне меню на Области данных® команда Заголовок/Примечание формы. Переміщуємо всі об’єкти «надпись» в область Заголовок формы. Оптимізуємо розміри областей. Рис. 6. Вигляд підлеглої форми після її оптимізації 3. Встановлюємо стрічковий режим форми: у вікні властивостей форми® вкладка Макет® властивість Режим по умолчанию® вибираємо Ленточные формы. Створюємо головну форму – «Товар». У вікні БД переходимо на вкладку Формы, обираємо команду Создание формы в режиме конструктора. Для виклику властивостей форми у вікні форма на порожньому місці визиваємо контекстне меню® команда Свойства. У вікні властивостей форми ® вкладка Данные® властивість Источник записей® вибираємо зі списку таблицю «Фірма-виробник». У вікні списку полів виділяємо всі поля і перетягуємо на форму. Оскільки дані поля «Код виробника» будуть вводитися автоматично, встановлюємо заборону на введення даних користувачем: викликаємо вікно властивостей поля® вкладка Данные® властивість Доступ – Нет; властивість Блокировка – Да. Для вставки підлеглої форми «Моделі» натискаємо кнопку Подчиненная форма/отчет з Панели элементов та вставляємо об’єкт у форму. В результаті з’являється вікно Мастера подчиненных форм. Відповідаємо на запитання Мастера.
Оптимізуємо розміщення об’єктів у формі і отримуємо головну форму у вигляді, який представлено на рис. 7. а) б) Рис. 7. Вигляд головної форми після її оптимізації: Відключаємо кнопки переходу для підлеглої форми: у вікні властивостей форми «Моделі»® вкладка Макет® властивість Кнопки перехода – Нет. 4.3.2. Форма «Клієнти» Для створення форми, за допомоги якої будемо вводити всі дані про клієнтів та їх замовлення, будуємо трирівневу ієрархічну форму: головна форма – «Клієнти» (на основі таблиці «Клієнт»), підлегла форма – «Замовлення» (на основі таблиці «Замовлення»), яка, в свою чергу, є головною для підлеглої форми «Вміст замовлення» (на основі запиту «Для форми Вміст замовлення»). Починаємо зі створення підлеглої форми «Вміст замовлення». 4.3.2.1. Створення допоміжного запиту Створюємо запит «Для форми Вміст замовлення» (запит потрібен для зв’язування моделі монітора з фірмою-виробником та цінами). Рис. 8. Схема запиту «Для форми Вміст замовлення» 4.3.2.2. Створення підлеглої форми «Вміст замовлення» Створюємо форму стрічкового типу «Вміст замовлення» на основі запиту. Дії аналогічні створенню форм на основі таблиці. Рис. 9. Схема форми «Вміст замовлення» У форму додані два поля, що обчислюються: «Сума» (сумарна вартість кожної позиції товару), «Загалом:» (сумарна вартість замовлення). Створення поля «Сума:». З панелі інструментів Панель элементов обираємо елемент Поле і розміщуємо в області Область данных. Вводимо надпис «Сума:», а в поле вводимо формулу: вікно властивостей поля® вкладка Данные® властивість Данные® вікно Построитель выражений® =[Кількість]*IIf([Кількість]>10;[Оптова ціна];[Роздрібна ціна]). Створення поля «Загалом:». З панелі інструментів Панель элементов обираємо елемент Поле і розміщуємо в області Примечание формы. Вводимо надпис «Загалом:», а в поле вводимо формулу: =Sum([Кількість]*IIf([Кількість]>10;[Оптова ціна];[Роздрібна ціна])). Дані поля «Модель» повинні обиратися зі списку моделей, які зберігаються у таблиці «Монітор», тому використовуємо об’єкт Поле со списком. Блокуємо поля «Виробник:», «Оптова ціна:», «Роздрібна ціна:», «Сума:», «Загалом:». Вимикаємо кнопки переходу між записами. 4.3.2.3. Створення підлеглої форми «Замовлення» Створюємо форму «Замовлення» (на основі таблиці «Замовлення») з вбудованою підлеглою формою «Вміст замовлення». Підлегла та головна форми зв’язані по полю «Номер замовлення». Рис. 10. Схема форми «Замовлення» 4.3.2.4. Створення головної форми «Клієнти» Створюємо головну форму «Клієнти» (на основі таблиці «Клієнт») з вбудованою підлеглою формою «Замовлення». Підлегла та головна форми зв’язані по полю «Код клієнта». Рис. 11. Форма «Клієнти» (режим конструктора) 4.4. Створення кнопкової форми «Старт» Для зручності користування кнопковою формою розподілимо кнопки, за допомоги яких будуть відкриватися форми та звіти за тематичними вкладками. Створюємо нову форму в режимі Конструктора. В панелі елементів натискаємо кнопку Вкладка і в макеті форми клацаємо мишею в області даних форми. В результаті з’являється прямокутна область з двома вкладками. У вікні властивостей кожної вкладки для властивості Подпись вводимо ім’я кожної вкладки: «Товари», «Клієнти». На вкладці «Товари» розміщуємо кнопку виклику форми для введення даних про товари. Для цього в панелі елементів натискаємо кнопку Кнопка . Змінюємо її підпис на «Товари». Викликаємо КМ® команда Обработка событий® Макросы. Новий макрос зберігаємо під ім’ям «Виклик форми Товар». У вікні конструктора макросу в полі Макрокоманда зі списку вибираємо ОткрытьФорму. В області Аргументы макрокоманды в полі аргументу Имя формы вибираємо зі списку «Товар». Рис. 12. Вигляд вікна конструктора макросу «Виклик форми Товар» Закриваємо вікно макросу. Зберігаємо форму під ім’ям «Старт». На вкладці «Клієнти» аналогічно створюємо кнопку виклику форми для вводу даних про клієнтів та їх замовлення: кнопка «Замовлення», яка відкриває форму «Клієнти». Для форми «Старт» вимикаємо Область выделения, Кнопки перехода, Полосы прокрутки, Разделительные линии. Встановлюємо режими: Выравнивание по центру (при відкритті форма буде автоматично розміщуватися в центрі екрана). Тип границы – Тонкая (для унеможливлення зміни розміру форми користувачем). Рис. 13. Вигляд форми «Старт»
|