Доработка формы Заказы
Изменение цены товара в таблице Товары влечет за собой изменение цены товара во всех заказах, хотя для ранее проданных товаров должна сохраняться прежняя (продажная, до изменения) цена. Этого можно избежать, если добавить в подчиненную форму Заказано Товара-Подформа дополнительное поле ЦенаПродажи, которое будет хранить цену на момент выписки заказа.
С учетом вышесказанного, перечислим минимальные удобства, которые необходимо обеспечить при работе с формой Заказы.
1. Поле ДатаЗаказа должно заполняться автоматически текущей датой.
2. Товары должны отбираться из списка товаров (примерно так, как выбираются из списка клиенты).
3. Дополнительное поле ЦенаПродажи должно заполняться при вводе данных автоматически (с возможностью изменения вручную при необходимости).
4. Поля Сумма и ОбщаяСумма должны рассчитываться автоматически.
Реализация этих возможностей требует знания некоторых других возможностей Access, в частности, встроенных функций и макрокоманд.
Access содержит встроенные функции, которые объединены в следующие группы: текстовые (StrComp, Trim, Space, Chr и др.), статистические (Arg, Sum, Max, Min и др.), управления (Iif, Choose, Switch и др.), сообщения (Msgbox, InputBox и др.), математические (Abs, Int, Sqr, Sin и др.), проверки (IsNull, IsNumeric и др.), общие, работы с базами данных и массивами, DDE/OLE, ввода/вывода (Dir, CurDir и др.), финансовые (Rate, DDB и др.), преобразования (CVDate, CStr и лр.), обработки ошибок, даты/времени (Date, Now и др.).
Автоматическое заполнение даты.
Для автоматического заполнения поля ДатаЗаказа при вводе данных пользователем свойству Значение по умолчанию поля следует присвоить значение функции Date().
1. Откройте форму Заказы в режиме Конструктора и выделите поле ДатаЗаказа, щелкнув по нему.
2. Откройте закладку Данные окна Свойства и в свойство Значение по умолчанию поля введите значение Date(). Эта функция будет автоматически присваивать полю ДатаЗаказа текущую дату для каждого нового заказа. Отметим, что значение даты функция «читает» из системных часов (таймера) компьютера. Проверьте правильность заполнения поля ДатаЗаказа для каждой новой записи.
Отбор товаров в подформе.
Второй шаг к усовершенствованию формы Заказы: замена поля Название в подформе Заказано ТовараПодформа списком. Проделайте следующие действия.
1. Откройте форму ЗаказаноТовараПодформа в режиме Конструктора и удалите поле Название.
2. Создайте поле со списком на основе поля КодТовара таблицы Товары. Используйте Мастер,аналогично проделанному ранее с полем КодКлиента.
Напомним, что следует щелкнуть по элементу Полесо спискомна Панели элементови сразу же щелкнуть по полю КодТовара в Списке полей,установить указатель мыши в нужное место и, удерживая левую кнопку, растянуть элемент до требуемых размеров. Обратим внимание, что, отвечая на вопросы Мастера,в качестве источника данных для списка надо выбрать таблицу Товары, отобрать в список поля КодТовара и Название, выбрать сохранение выбранного значения в поле КодТовара.
Обратите внимание на источник строк созданного списка: это запрос на выборку к таблице Товары на языке SQL. Щелкните по знаку ... справа от выделенного свойства и вы увидите окно построителя запросов. Если требуется выводить товары в списке в алфавитном порядке, то для поля Название укажите сортировку по возрастанию.
После всех этих действий проверьте работу формы Заказы: откройте форму, попытайтесь добавить новый заказ, т.е. введите фамилию менеджера, клиента, а затем отберите товары для заказа.
Дата добавления: 2016-04-14; просмотров: 578;