Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Сохранение фильтров для дальнейшего использования

Поиск

Одно из ограничений применения фильтров в формах заключается в том, что программа Access помнит только последний набор условий отбора. Если вы подготовили сложное вы­ражение для фильтрации, которое хотите использовать в дальнейшем, подобное ограниче­ние становится проблемой. Как только вы примените другое условие отбора, плоды вашей напряженной работы будут потеряны.

К счастью, эту проблему можно решить несколькими способами. С одной стороны, мож­но создать полностью новый запрос, выполняющий фильтрацию, и применить его при создании совершенно новой формы. Этот способ хорош, если вы хотите использовать ваши условия отбора для решения конкретной задачи и настроить способ функционирования формы и вывода в нее данных.

С другой стороны, если вы не планируете применять заданные условия отбора слишком часто, но хотите иметь их под рукой, когда они понадобятся в следующий раз (или если нужно хранить десятки разных условий отбора и при этом вы не хотите иметь десятки почти одинаковых форм), есть лучший выбор. Можно сохранить в вашей БД условия отбора фильтра как запрос. В дальнейшем, когда вы захотите вернуться к ним, вы сможете загру­зить их и применить в вашей форме.

Далее описано, как реализовать этот прием.

1. Примените ваши фильтры.

Используйте любой из методов, описанных в разд. "Фильтрация в форме"ранее в этой главе.

2. Выберите на ленте Главная → Сортировка и фильтр → Дополнительно Расширенный фильтр (Home Sort & Filter Advanced Advanced Filter/Sort).

Это действие открывает на экране окно запроса. Данный запрос использует тот же ис­точник данных (таблицу или запрос), что и ваша форма, и применяет ваши условия от­бора с помощью поля Условие отбора, расположенного под соответствующим полем. Вам не нужно вносить никакие изменения в окне запроса, поскольку программа Access автоматически заполняет поле (или поля) Условие отбора на основании текущих усло­вий фильтрации.

3. Выберите на ленте Главная → Сортировка и фильтр → Дополнительно →Сохранить как запрос (Home Sort & Filter Advanced Save as Query). Задайте имя запроса и нажмите кнопку ОК.


Несмотря на то, что этот запрос можно использовать как обычный, вряд ли вы захотите это делать. Для того чтобы не возникало путаницы, примените другой тип имени, например, CustomerBrowser_FiIter (фильтр обозревателя клиентов), ясно указывающий на то, что данный запрос применяется для фильтрации формы.

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

1. Выберите на ленте Главная → Сортировка и фильтр → Дополнительно → Расширенный фильтр.

Этот шаг открывает окно запроса.

2. Выберите на ленте Главная → Сортировка и фильтр → Дополнительно →Загрузить из запроса (Home Sort & Filter Advanced Load From Query).

Программа Access отобразит все запросы, использующие ту же таблицу и не содержащие операций объединения.

3. Выберите запрос с условиями фильтрации, созданный ранее, и щелкните мышью кнопку
ОК.

В окне запроса появятся условия отбора из этого запроса.

4. Щелкните правой кнопкой мыши на свободном месте в окне запроса и выберите команду Применить фильтр (Apply Filter/Sort) для применения заданных условий отбора.

 

 

Подсказка

Этот прием можно использовать для применения одних и тех же условий отбора в разных формах, при наличии в них полей, по которым вы хотите фильтровать записи. (Можно вос­пользоваться условиями отбора, созданными для формы CustomerBrowser в другой форме, отображающей клиентов, но не в форме, которая выводит товары.)

 

 

Создание улучшенных макетов

Все формы, созданные вами до настоящего момента, были похожи друг на друга. Все поля находятся в одной или нескольких колонках с компактно расположенными данными. Во многих случаях это верстка очень хороша. Но иногда хочется разрешить своему творческо­му его вырваться наружу и начать действовать.

Вы сталкивались с подобной ситуацией в отчетах, описанных в главе 11. Как только вы освобождаете отчет от внутреннего табличного макета, можно создавать распечатки, более похожие на каталоги товаров розничной продажи, чем на однообразную таблицу данных. Этот же принцип действует и в формах — как только вы решите оставить незатейливый мир простых форм, вы сможете создавать гораздо более оригинальные формы. Можно приме­нять пустое пространство для разделения плотных групп данных; создавать формы с графи­ческим оформлением в виде изображений, линий и прямоугольников; размещать информа­цию более плотно или более свободно; проектировать формы, напоминающие бумажные документы и т. д.

 

 

Высвобождение элементов управления из макета

Как и в отчетах, в формах применяется полезное средство, именуемое макетом. Это форма­тируемый контейнер, который программа Access использует за кадром для компоновки


группы элементов управления. Если в макете увеличить ширину одного поля, ширина ос­тальных полей в нем также увеличится. Если передвинуть макет, все элементы управления переместятся вместе с ним. И если вы перекомпонуете макет, все элементы управления зай­мут соответствующее пространство.

 

 

Примечание

Элементы управления — это компоненты, которые можно вставлять в отчеты и формы. К ним относятся, например, Подписи, Рисунки и Поля. Некоторые элементы управления применяют­ся для отображения неизменного содержимого (например, заголовок формы), другие содержат меняющиеся данные (например, значения полей текущей записи).

 

 


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

 

Рис. 12.12. Этого причудливого ступенчатого расположения нельзя было бы добиться в табличной структуре макета. Но за такой дизайн приходится платить (и это не только зрительное перенапряжение). Если вы когда-нибудь измените таблицу и потребуется корректировка формы, вы затратите много усилий на перекомпоновку полей, т. к. за кадром нет никакого макета, удерживающего их вместе

 

Прежде чем извлекать элемент управления из макета, убедитесь в том, что вы находитесь в Режиме макета или в Конструкторе (щелкните правой кнопкой мыши заголовок вкладки и выберите Режим макета или Конструктор). На Режим макета приятнее смотреть, но в Конструкторе легче перемещать поля. Когда вы с помощью мыши перетаскиваете в Конст­рукторе название поля (например, Подпись, содержащую слово "ProductName"), связанный


с ней элемент управления, отображающий значение поля, также перемещается. В Режиме макета придется двигать каждый компонент отдельно, что удваивает объем работы. (Между прочим, в Конструкторе тоже можно перемещать Подписи и Поля отдельно, если знать, где щелкнуть кнопкой мыши. Объяснения см. в разд. "Создание отчета без помощи мастера" главы 11.)

 

Для реального перемещения поля щелкните правой кнопкой мыши поле, положение ко­торого хотите изменить, и выберите Макет →Удалить (Layout Remove). Затем перета­щите поле в новое место. На рис. 12.12 показан пример формы, не применяющей макеты ни для одного из своих элементов управления.

 

 



Поделиться:


Последнее изменение этой страницы: 2016-08-14; просмотров: 149; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.15.195.18 (0.01 с.)