Устанавливаем источник строк для поля со списком
После выбора таблицы строим запрос на основе этой таблицы (нажимаем кнопочку ...) Этот запрос можно не сохранять Изменяем несколько свойств поля.
Поле со списком готово. Поля для ввода дат. Ставим поле для даты
Копируем поле ДАТ1 и изменем в новом поле имя на ДАТ2 Можно поставить значение по умолчанию для даты 1 – текущую дату DATE() – 30 (тогда будет период – последние 30 дней) Кнопка для показа отобранных записей Ставим кнопку без мастера. Изменяем имя и подпись на “ПОКАЗАТЬ” Получилась вот такая форма
Изменение источника данных для формы. Изменяем базовый запрос с учетом фильтра. Открываем базовый запрос в конструкторе и сохраняем его под именем ПродажиКлиентов_F. В условиях отбора для клиента, и дат строим выражения
Добавляем поля КодКлиента и два раза Дата В строке ГРУППИРОВКА изменяем в этих полях слово ГРУППИРОВКА на УСЛОВИЕ и строим условия . Для учета дополнительных условий (пустые поля фильтров) придется строить фильтр программно, проверяя наличие данных в полях формы и формировать условия отбора. Это процесс описан в приложении Предположим, что в полях фильтра всегда будет выбран клиент и задан период и проверять это мы не будем. Тогда можно обойтись двумя кнопками. Одна кнопка будет выбирать данные из таблиц с учетом фильтра, а другая – просто показывать все записи для всех клиентов за все время существования базы. Поставим в форме 2 кнопки, напишем на них “ФИЛЬТР” и “ВСЕ”. (Кнопки ставим без мастера.). Изменим имя и подпись кнопки. Изменяем кнопку ФИЛЬТР. Изменим ИМЯ кнопки на FiltrKlient.
Изменим источник записей для формы. В свойствах кнопки ФИЛЬТР . На вкладке “СОБЫТИЯ” выбираем процедуру обработки событий “НАЖАТИЕ КНОПКИ”. Нажмем на кнопочку с тремя точками и попадем в страшный редактор VBA. Там где окажется курсор напишем две строчки.
Private Sub FiltrKlient_Click() ‘Первая строчка задает в качестве источника записей для формы запрос с фильтрами по клиенту и за период. Me.RecordSource = "ПродажиКлиентов_Ff" ‘Вторая строчка – обновляет данные в форме. Me.Requery End Sub
Аналогичную операцию проделаем с кнопкой для показа всех записей. Кнопку назовем ShowAll В качестве источника записей в процедуре нажатия кнопки напишем запрос без фильтра (базовый запрос) Me.RecordSource = "ПродажиКлиентов" Me.Requery Сохраним форму и посмотрим, что получилось, выбрав вид “форма”.
Популярное: Почему человек чувствует себя несчастным?: Для начала определим, что такое несчастье. Несчастьем мы будем считать психологическое состояние... Как построить свою речь (словесное оформление):
При подготовке публичного выступления перед оратором возникает вопрос, как лучше словесно оформить свою... Как распознать напряжение: Говоря о мышечном напряжении, мы в первую очередь имеем в виду мускулы, прикрепленные к костям ... Как вы ведете себя при стрессе?: Вы можете самостоятельно управлять стрессом! Каждый из нас имеет право и возможность уменьшить его воздействие на нас... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (642)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |