Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






DoCmd.OpenForm "Сводная форма", acFormPivotTable




откроет форму "Сводная форма" в режиме сводной таблицы.

 

Самое сложное в нашем программном коде – это создание условия отбора данных. С этой целью была объявлена переменная strWhereCategory строкового типа.

Условие отбора в форме «Приход» только тех записей, которые соответствуют названию поставщику, выбранному в списке текущей формы «Отчеты о продажах», выглядит так:

strWhereCategory = "Код_поставщика = Forms![Отчеты о продажах]!Spisok"

 

где Код_поставщика – поле в форме, которую будете открывать и по которому производите выборку данных (в нашем случае это поле из формы Приход)

Forms![Отчеты о продажах]!Spisok – обращение к выбранному значению списка на форме «Отчеты о продажах».

При этом условие strWhereCategory – является условием языка SQL, где используются специальные конструкции языка. В частности для обращения к семейству всех форм используется объект Forms. Затем указывается имя формы, затем имя элемента управления. Разделителем между именами служит знак восклицания. Если в именах присутствуют пробелы, то они заключаются в квадратные скобки.

 

Таким образом, например, в результате выбора пользователем из списка названия – МЧП Белинда будет передано значение

"Код_поставщика = 2"

где

«МЧП Белинда» имеет код =2.

Поэтому после нажатия кнопки «Просмотр формы» вам будет открыта форма с двумя записями с поставщиком МЧП Белинда.

 

Метод Close применяется для закрытия определенного вида объекта.

Синтаксис метода:

expression.Close(ObjectType, ObjectName, Save)

Аргументы метода:

Expression выражение, которое возвращает один из объектов
ObjectType тип объекта. Аргумент принимает следующие значения: acDataAccessPage, acDefault default, acDiagram, acForm, acFunction, acMacro, acModule, acQuery, acReport, acServerView, acStoredProcedure, acTable
Save сохранение данных перед закрытием объекта. Аргумент принимает следующие значения: acSaveNo, acSavePrompt (Модуль будет закрыт, но не будут сохранены изменения к модулю), acSaveYes

 

Поэтому в нашем случае мы записали:

DoCmd.Close acForm, "Отчеты о продажах"

Что соответствует закрытию формы "Отчеты о продажах".

 

Для того, чтобы учесть период дат, необходимо добавить условный блок на проверку значения в флаге. Если флаг не установлен, то не выполнять сортировку записей по датам. А если флаг выбран, то выполнять сортировку по датам.

Такими условными конструкциями будут

If flag.Value = False Then

End If

и

If flag.Value = true Then

End If

 

Для отбора записей с учетом периода дат необходимо объявить новую строковую переменную для создания условия, а именно переменную strWhereCategory2.

Чтобы выполнить выборку данных в периоде дат воспользуемся уже знакомой конструкцией Between..And.

Аналогично с запросами, условная строка будет иметь вид:

strWhereCategory2 = "Дата_накладной Between Forms![Отчеты о продажах]!txtNach And Forms![Отчеты о продажах]!txtConch"

где txtNach – значение текстового поля с начальной датой, а txtConch – значение текстового поля с конечной датой.

А для отбора записей с учетом периода дат и названия поставщиков необходимо объявить строковую переменную strWhereCategory3.

Для объединения двух условий воспользуемся логической функцией And.

Условная строка будет иметь вид:

strWhereCategory3 = "Код_поставщика = Forms![Отчеты о продажах]!Spisok And Дата_накладной Between Forms![Отчеты о продажах]!txtNach And Forms![Отчеты о продажах]!txtConch"

где txtNach – значение текстового поля с начальной датой, а txtConch – значение текстового поля с конечной датой.

Окончательно программный код будет иметь вид, приведенный в листинге 4.

Листинг 4. Обработчик события нажатия кнопки «Просмотр форм»

Private Sub comOpenForm_Click()






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных