Построить макет формы реализующий весь функционал поставленной задачи

Так как форма должна опираться на несколько запросов и предоставлять пользователю информативные списки то простыми текстовыми полями мы не обойдемся

1) Новый элемент «Поле со списком» – В данном элементе мы можем задать источник данных такой как таблица или запрос и на основе содержимого источника данных мы будем получать набор записей.

Причем, например, задав 2 параметра из них

1) ID клиента

2) ФИО

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

Пример:

1) При добавлении его на форму запускается мастер с помощью которого можно выбрать данные которыми будет заполняться «Поле со списком»

Можно сразу нажать отмену и перейти к настройкам в ручную, а можно нажать далее чтобы мастер помог настроить источник данных данного поля

Выбираем интересующую нас таблицу или запрос

Добавляем поля на основе которых будем дальше работать с данными

Далее можно выбрать вид сортировки записей по определенному столбцу например FIO будут сортироваться по возрастанию

Но можно просто пропустить шаг

Далее Мастер покажет результат набора данных который будет отображаться в виде списка

Нажав кнопку готово мы получаем рабочий компонент формы способный взять данные из таблицы и предоставить пользователю возможность выбрать одно из значений.

Присвоив переменной наше поле со списком мы получим ID_клиента помещенный в эту переменную

Если взглянуть на свойства компонента то можно увидать что данные тянуться из таблицы по средствам запроса указанного в поле Источник данных ни кто не запрещает взять и модифицировать запрос по необходимости.

Таким же способом мы можем добавить список товаров, из которого будем добавлять в корзину купленные клиентом товары.

Чтобы отображать список выбранных товаров покупателем будем использовать еще один тип называемый список в него будем помещать товары, которые выбрал клиент для покупки

Для того чтобы избежать ввода неверного значения количества товара пользователем можно добавить еще один выпадающий список и предоставить в нем только те значения которые могут быть предоставлены для данного товара.

Для реализации расчета списка количества товара используем процедуру ввода изменения в название товара т.е. на «Поле со списком» название товара нажимаем правую кнопку мыши и создаем процедуру обработки выбора товара

1) По ID товара получаем его количество

Добавляем поле в котором будем предоставлять выбор количества товара на складе

Добавляем процедуру обработки выбора товара для расчета возможного количества товара

Первым делом проверяем выбрал ли пользователь товар

Далее объявим 3 переменные

Следующим шагом обнуляем список значений количества возможного товара

Следующим шагом формируем запрос, который должен узнать по ID товара количество его на складе

Далее выполняем запрос, сохраняя результат в переменную rs

Чтобы получить значение результата необходимо написать код rs.Fields("Kolichestvo")

Который вернет значение параметра, которое храниться в результатом столбце Kolichestvo

Запускаем цикл и заполняем Поле со списком его значениями цифр от 1 до максимального количества товара.

Можно считать процедуру законченной

Теперь пользователь сможет выбрать товар и максимальное количество которое нужно будет добавить в заказ

Далее добавляем кнопку, которая будет добавлять выбранный товар в корзину

Чтобы предоставить корзину на форме можно использовать компонент под названием «Список» Его свойства практически ни чем не отличаются от свойств поля со списком с единственным отличием, что все содержимое списка будет выводиться сразу в его окно.

Реализуем функционал кнопки добавления товара в корзину собственно добавляем товар через запрос использующий параметр IN в качестве ограничения выводимых товаров

Объявляем глобальную переменную, чтобы данные из нее не стирались после срабатывания функции для этого просто объявляем выше объявления функции.

Далее в параметр ID_TOVAR_LIST добавляем ID товаров которые выбрал клиент и на основе этих товаров выполняем запрос


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: