Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MR_IS_BD_korrekt_2014 .doc
Скачиваний:
123
Добавлен:
19.02.2016
Размер:
884.74 Кб
Скачать

3) Решение третьей задачи.

Для элемента управления «Поле со списком», с помощью которогобудет вводиться название товара, строим запрос на выборку "Список Товаров" (рис.9) на основе таблицы «Склад».

Рис. 9. Запрос «Список товаров» в режиме конструктора

Выбираем поле «Название товара» и добавляем строку «Групповая операция» кнопкой (Итоги) ленты "Конструктор". В этой строке по умолчанию появляется действие "Группировка". Это значит, что все товары будут группироваться по названию. В строке "Сортировка" задаем «по возрастанию».

По созданному запросу строим в форме Склад элемент управления «Поле со списком» для ввода названий товаров. Окна диалога мастера такие же, как при построении поля со списком «Поставщик».

Форма "Склад" должна открываться для добавления новой записи, - это ее основное предназначение, т.к. само наличие товаров можно увидеть в таблице "Склад". Поэтому в процедуру события открытия формы Form_Open (вкладка "События" свойств формы, строка "Открытие", щелчок по символу ..., строка Программы) добавим строку DoCmd.GoToRecord , "", acNewRec:

Private Sub Form_Open(Cancel As Integer)

DoCmd.GoToRecord , "", acNewRec

End Sub

Для закрытия формы нанесем на нее элемент управления Кнопка и зададим ей событие Закрыть форму в разделе Работа с формой в окне диалога с Мастером.

В разделе заголовка можно разместить поле текущей даты (см.рис.6) и/или времени. Это можно сделать вручную (нарисовав поле и задав ему соответствующее значение), или с помощью меню Колонтитулы ленты Конструктор.

В заключение необходимо задать правильный порядок перехода между полями при нажатии на клавиши «Tab» или «Enter». Это можно выполнить, вызвав окно диалога Переходы из контекстного меню области данных. [Такой же пункт есть в ленте Конструктор]. Для поля Остаток и для кнопки Закрыть форму в свойство Переход по Tab вкладки Другие зададим значение Нет: поле Остаток заполняется автоматически, а кнопка закрытия формы нажимается самим пользователем при необходимости выйти из формы.

Форма используется для приема товаров (заполнения таблицы Склад). Название товара и все остальные данные вводят с клавиатуры, нажимая «Tab» или «Enter» для перехода в другое поле (а после заполнения всех полей – переход к новой записи: новому товару). Для изменения даты (по умолчанию указана текущая дата) необходимо вводить ее в соответствии с маской ввода (она задана в таблице при конструировании [00.00.00] и может быть изменена в свойствах формы). Закрывается форма щелчком мыши по кнопке закрытия.

6. Создание сложной формы «Прием заказов».

6.1. Требования к форме "Прием заказов".

Созданные ранее формы позволяют заполнять данными таблицы «Кадры», «Клиенты», «Поставщики» и «Склад». Приступать к созданию формы «Прием заказов» следует только тогда, когда в эти таблицы уже внесены данные.

По форме «Прием заказов» мы будем заполнять две таблицы: «Заказы» и «Заказ-товар», фиксируя в них следующие данные: какая фирма-клиент делает заказ, реквизиты фирмы; когда заказ получен и должен быть выполнен; кто из сотрудников отвечает за его выполнение; какие конкретно товары и в каком количестве заказаны. Кроме того, после оформления заказа в таблице «Склад» должно быть откорректировано количество оставшихся товаров.

Форма «Прием заказов» должна состоять из двух частей:

- главной формы, в которой фиксируются общие данные о заказе (заказчик и его реквизиты, сотрудник для обслуживания заказа, дата приема и выполнения);

- подчиненной формы, в которой указывается товар, продаваемый в этом заказе.

Поэтому форма «Прием заказов» является сложной формой «один ко многим»: один заказ – много товаров. Примерный вид формы показан на рисунке 10.

Рис. 10. Форма «Прием заказов»

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

Для удобства работы в форме должно быть реализовано следующее:

  1. Ввод имени заказчика (клиента), для которой оформляется заказ, осуществляется с помощью элемента управления «Поле со списком». После выбора имени клиента автоматически должны заполняться поля с информацией о нем (адрес, телефон, расчетный счет и др.).

  2. Ввод ФИО сотрудника, отвечающем за выполнение заказа, также осуществляется с помощью элемента управления «Поле со списком». После выбора в таблицу «Заказы» попадает код сотрудника.

  3. Ввод названий товаров в заказе осуществляется с помощью элемента управления «Поле со списком» (рис.11). После выбора товара в таблице подчиненной формы отражается не только его название и единица измерения, но и остаток этого товара на складе. После ввода количества товара в таблицу «Заказ-товар» попадает «Код товара», а также автоматически рассчитывается отпускная цена товара (она включает 35%-ную наценку на закупочную цену).

Рис. 11. Работа с формой «Прием заказов»

  1. Автоматически должны рассчитываться поля «Сумма заказа», «Сумма заказа с НДС».

  2. При нажатии на кнопку «Принять заказ» (когда данные о товарах заказа внесены) значение поля «Остаток» в таблице «Склад» для каждого товара, продаваемого в этом заказе, должно быть уменьшено на количество этого товара, а в главной форме Прием заказов должен произойти переход к новой записи.

  3. Форма должна открываться только для добавления новых записей.

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