Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Улучшение работы компании средствами Visual BasicСодержание книги
Поиск на нашем сайте
На протяжении последних 16 глав вы узнали и полюбили БД компании Boutique Fudge, которая представляет собой БД действительных продаж, отслеживающую данные о клиентах, товарах и заказах. Однако, несмотря на то, что в БД Boutique Fudge хранится вся необходимая информация, она все еще не полностью интегрирована в повседневную деятельность компании. И прежде чем вы попытаетесь это исправить, следует понять, почему выигрыш столь мал. Большинство людей, работающих в компаниях, подобных Boutique Fudge, не думают о таблицах и операциях над данными (таких как добавление, обновление и удаление записей). Они мыслят задачами, например, размещение заказа, доставка заказа и обработка жалобы клиента. Многие задачи тесно связаны с операциями над данными и в этом случае у вас нет проблем. Задача "регистрация нового клиента" включает открытие таблицы Customers и последующее добавление новой записи. Следить за ней можно с помощью простой формы. Задача "размещение заказа" немного сложнее. Она включает добавление записей в несколько таблиц (таблицы Orders и OrderDetails) и использование данных из связанных таблиц (таблицы Products и Customers) для заполнения заказа. Можно создать обычную форму для выполнения этой работы, но она не будет действовать так, как хотели бы продавцы (рис. 17.10). То же справедливо и в отношении задачи "доставка заказа". Этой задаче требуется несколько шагов — изменение статуса заказа, регистрация отправки заказа, обновления количества единиц товара на складе. Вы можете интерпретировать эту задачу как несколько операций над данными, но гораздо лучше создать единую форму, которая будет заботиться о процессе в целом. Сейчас очень пригодится VB. С помощью подходящего программного кода вы сможете спроектировать интеллектуальную форму, которая будет соответствовать методам работы сотрудников компании. Интеллектуальная форма — это не просто способ добавления, редактирования и удаления записей в таблице — это средство, помогающее вести коммерческую деятельность. В следующих разделах вы увидите, как разрабатывать улучшенные формы с некоторыми программируемыми свойствами. К этим формам относятся следующие: ■ PlaceOrder позволяет создать новый заказ. Она действует в месте с подчиненной формой PlaceOrder_Subform, позволяющей включать отдельные товары в заказ; ■ AddProduct позволяет создать новый товар. Вы можете использовать ее непосредственно из формы PlaceOrder для вставки товара внутрь заказа; ShipOrders позволяет обновить заказ сведениями о доставке. Она также работает с формой ReviewOrderDetails для вывода на экран компонентов заказа.
Рис. 17.10. Эта форма позволяет добавлять записи в таблицы Orders и OrderDetails. Но ей не хватает нескольких украшений, которые пользователи рассчитывают увидеть на форме для заказа — например, автоматическое заполнение поля с ценой каждого товара, заказанного вами, вычисление промежуточных итогов по мере заполнения заказа и возможность добавить товар на лету
Проверить конечный результат можно с помощью загружаемых из Интернета БД, предназначенных для данной главы (см. разд. "Примеры" во введении).
Подсказка Всегда хорошо называть форму в соответствии с выполняемой ею задачей (размещение заказа, доставка заказа и т. д.), а не таблицей, которую она использует. Такой подход поможет вам запомнить, кто пользуется каждой формой, поэтому вы сможете приспособить ее для соответствующей аудитории.
Хранение промежуточного итога Лишь немногие клиенты настолько бесстрашны, чтобы поместить заказ без точных сведений о его стоимости. В типичной форме для заказа в строке отображается стоимость каждо- го элемента (за счет перемножения цены товара и его количества) и еще более важная итоговая стоимость заказа (рис. 17.11).
Рис. 17.11. Форма PlaceOrder с промежуточными итогами и общим итогом
Примечание Форма PlaceOrder также включает несколько уже знакомых вам тонкостей, например, размещение адресной информации клиента на отдельной вкладке, перенос автоматически генерируемых полей (идентификационный номер заказа ID и дата заказа) в нижнюю часть окна, где они не будут никого отвлекать, и установка в их свойстве Блокировка (Locked) значения Да для запрета изменений. В свойстве формы Ввод данных (Data Entry) также установлено значение Да, что позволяет начать создавать новый заказ сразу после открытия формы.
Код не нужен только для строчного итога. Действительно, эту проблему можно решить, добавив элемент управления Поле, использующий следующее выражение в подчиненной форме PlaceOrder_Subform: =Quantity * Price Это выражение действует, поскольку нужная информация (поля Price и Quantity) располагается на той же форме, что и вычисляемое поле. А вот общий итог получить не так легко. Для пущей важности можно соединить это выражение с функцией Format, чтобы быть уверенным в том, что выводится нужное число десятичных знаков и символ валюты ($): =Format (Quantity * Price, "Currency") Для вычисления общей суммы необходимо использовать данные полей Quantity и Price в таблице OrderDetails. К сожалению, у формы PlaceOrder нет легкого способа получить эту информацию. Дело не только в том, что она находится где-то еще (на подчиненной форме), но и в том, что она включает несколько отдельных записей. Даже если извлечь данные полей Quantity и Price из подчиненной формы, можно будет получить значения только для текущей записи, а не для всего списка заказанных товаров. Для решения этой проблемы нужна специализированная функция Access, называемая статистической функцией по подмножеству или функцией обработки набора записей (domain function). Функция по подмножеству может обработать целую таблицу и вернуть одну порцию данных. Дополнительную информацию см. в следующем разделе.
На профессиональном уровне.
|
||||||||||
Последнее изменение этой страницы: 2016-08-14; просмотров: 174; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.217.4.250 (0.008 с.) |