Краткое содержание 29 Об этих стрелках 30 о сочетаниях клавиш 32 о щелчках кнопкой мыши 33 Примеры 33
Скачать 19.64 Mb.
|
Подсказка Для удаления условий отбора, но сохранения их под рукой и применения в дальнейшем, выберите на ленте Главная → Сортировка и фильтр → Применить фильтр. Для повторного применения фильтра позже, щелкните мышью кнопку Применить фильтр еще раз. Access хранит самые последние заданные условия отбора вместе с формой, поэтому они всегда доступны. Сохранение фильтров для дальнейшего использования Одно из ограничений применения фильтров в формах заключается в том, что программа 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 показан пример формы, не применяющей макеты ни для одного из своих элементов управления. Применение нескольких макетов Как вы уже узнали в этой главе, программа Access располагает поля в нескольких колонках, если не может разместить их в одной (см. рис. 12.2). Когда формируется несколько колонок, каждая из них обладает собственным макетом. Приятная новость — вы тоже можете создать несколько макетов. Такая необходимость может возникнуть в следующих ситуациях:
Рис. 12.13. Когда указатель мыши перемещается в области нового, только что созданного вами макета, на экране появляется желтая линия, обозначающая позицию поля после того, как вы отпустите кнопку мыши. Вы можете поместить поле в верхнюю часть макета, в нижнюю его часть или в любое место внутри макета. В данном примере поле PostalCode вставляется между полями State и Country Для помещения поля в новый макет выполните следующие действия. 1. Убедитесь, что вы находитесь в Режиме макета. Е сли нет, щелкните правой кнопкой мыши заголовок вкладки с формой и выберите Режим макета. 2. Щелкните правой кнопкой мыши первое поле, которое хотите удалить из макета, и затем выберите Макет → Удалить. Если поле находится в середине таблицы макета, программа Access отодвигает его в сторону. Если поле расположено в конце таблицы макета, его положение не меняется. 3. Перетащите мышью поле в другую часть формы. Если вы хотите расположить второй макет под первым, перетащите мышью поле в нижнюю часть формы на его новое место. Рис. 12.14. В данной форме поля сгруппированы в четыре четких подраздела. Таким образом, создается более ясная и наглядная компоновка по сравнению с единым табличным макетом, но сложность создания формы без макетов возрастает, в особенности если позже придется добавлять дополнительные поля или менять порядок расположения полей на форме 4. Щелкните правой кнопкой мыши удаленное из макета поле и выберите команду Макет → В столбик (Layout → Stacked). Этим действием создается новый макет для поля, которое вы освободили в пункте 2. Все макеты, которые вы видели до сих пор, — макеты в столбик, располагающие поля одно над другим. Пример табличного макета (поля располагаются бок о бок) вы увидите в следующем разделе. 5. Найдите поле, которое хотите перенести в новый макет, и перетащите его туда мышью (рис. 12.13). Перетаскивание поля из одного макета в другой — рациональный способ. Он действует быстрее, чем удаление всех нужных полей из первого макета, а затем добавление их во второй макет. 6. Повторите пункт 5 для каждого поля, которое хотите перенести в новый макет. Перенос поля из одного макета в другой может быть непростым занятием. Если все идет не так, как следует, и поле располагается в неверном месте, воспользуйтесь командой Отменить для исправления ситуации. (Команда Отменить запускается нажатием комбинации клавиш 7. Когда второй макет скомпонован, перенесите его в нужное место. Для перемещения макета щелкните кнопкой мыши одно из его полей и найдите пиктограмму из перекрещенных стрелок в левом верхнем углу. Перетащите мышью эту пиктограмму для переноса всего макета. Будьте внимательны — если поместить один макет слишком близко к другому, программа Access решит, что вы хотите объединить оба макета в один. (Можно во время перетаскивания держать нажатой клавишу На рис. 12.14 показан окончательный вариант формы с несколькими макетами. Применение табличных макетов Макеты организуют элементы управления двумя способами: в столбик (каждое поле занимает отдельную строку) и в таблицу (каждое поле помещается в отдельный столбец). Формам, как правило, больше подходит организация полей в столбик, а табличные макеты удобнее для компактной компоновки отчетов. Тем не менее иногда в форме может потребоваться табличный макет. Чаще всего такая необходимость возникает при одновременном выводе нескольких записей; гораздо легче выводить на экран больший объем данных, если поля заключены в столбцы. Подсказка Несмотря на то, что форма может содержать несколько макетов обоих типов (табличные и в столбик), они редко хорошо сочетаются друг с другом. Лучше выбрать один тип и придерживаться его. Для замены обычной формы (с макетом в столбик) на форму с табличным макетом выполните следующие действия. 1. Убедитесь в том, что вы находитесь в Режиме макета. Если нет, щелкните правой кнопкой мыши заголовок вкладки и выберите Режим макета. Р ис. 12.15. На этом табличном макете отображены четыре столбца данных. У формы один элемент управления вне макета: поле примечаний Notes, которое разработчик формы переместил вниз, чтобы обеспечить ему достаточное пространство Рис. 12.16. Обычно табличные макеты связаны с формами, отображающими много записей одновременно, как форма, показанная на рисунке 2. Выделите все поля формы, удерживая нажатой клавишу Для экономии времени найдите на экране пиктограмму из перекрещенных стрелок в правом верхнем углу макета, которая появляется, как только вы выделите какой-либо компонент макета. Вы можете одним щелчком по этой пиктограмме выделить целиком весь макет. 3. Щелкните правой кнопкой мыши ваше выделение и выберите Макет →Табличный. При создании табличного макета Access помещает имя каждого поля в область заголовков, а значение поля — ниже, как показано на рис. 12.15. Придется немного поработать мышью для того, чтобы добиться нужного порядка расположения полей и задания им подходящих размеров. Этот процесс довольно утомителен. К счастью, существует ускоряющий прием. Если вы знаете, что будете использовать табличный макет, можно создать форму с самого начала. Вместо выбора последовательности Создание → Формы → Форма (Create →Forms →Form) для создания вашей формы выберите на ленте Создание → Формы → Несколько элементов (Create → Forms → Multiple Items). Этот шаг приведет к созданию формы, использующей табличный макет и отображающей несколько записей одновременно (рис. 12.16). Отображение нескольких записей в любой форме Вы можете выводить несколько записей в форме даже без применения табличного макета. На самом деле, пока ваша форма достаточно компактна, это сделать очень легко. Далее описаны необходимые действия. 1. Организуйте вашу форму так, чтобы она была максимально компактна. При отображении набора записей они располагаются друг над другом, как показано на рис. 12.17. Таким образом, чем меньше ваша форма, тем большее число записей вы сможете увидеть одновременно. С другой стороны, не важно, насколько широка или узка ваша форма (до тех пор, пока все необходимое помещается на экране). 2. Перейдите в Конструктор, если еще не находитесь в этом режиме. Как всегда, переключиться в режим Конструктора можно щелчком правой кнопки мыши заголовка вкладки и выбором команды Конструктор. 3. Измените размер формы, устранив пустое пространство, как показано на рис. 12.18. Изменяя расположение элементов управления, вы освобождаете место в нижней части формы. Исключить освободившееся пространство за счет сжатия всей формы — это целиком ваша обязанность. Если при попытке сжать форму, она упрямо сохраняет прежний размер, вероятно, есть элемент управления, занимающий часть этого пространства. Необходимо сначала уменьшить его, а затем всю форму. Примечание Для того чтобы одновременно отобразить несколько записей, окно формы должно быть больше самой формы. 4. Если на экране нет Окна свойств, выберите на ленте Инструменты конструктора форм | Конструктор →Сервис → Страница свойств (Form Design Tools | Design → Tools → Property Sheet). Как вы узнали в главе 11, Окно свойств позволяет настроить параметры элементов управления и других объектов. В данном случае параметра, который нужно изменить, нет на ленте. Он спрятан в Окне свойств. Рис. 12.17. Вы можете видеть три товара на одном экране. (Обратите внимание на то, что нижние три поля удалены из использующегося для трех верхних полей макета в столбик для того, чтобы расположить их более плотно относительно друг друга.) Стрелка в боковом поле указывает на то, что вторая запись — текущая. Для просмотра дополнительных записей можно воспользоваться кнопками перехода в нижней части формы или полосой прокрутки, расположенной справа Р ис. 12.18. Для сжатия формы перетащите вверх с помощью мыши нижнюю границу так, чтобы она располагалась на уровне нижней границы самого нижнего элемента управления 5. В списке Окна свойств выберите Форма (Form). Это действие приводит к выводу на экран параметров, применяемых к форме в целом, а не к отдельному элементу управления. 6. Щелкните кнопкой мыши вкладку Макет (Format) и найдите параметр Режим по умолчанию (Default View). Параметр Режим по умолчанию отображается в верхней части списка. Он позволяет задать режим первоначального представления при открытии формы. 7. Выберите Ленточные формы (Continuous Form). Наиболее часто используемые режимы — Одиночная форма (Single Form) (отображает одну запись данных) и Ленточные формы (отображает несколько записей, одну за другой). Можно также выбрать иное представление, например Режим таблицы (Datasheet) (однообразная таблица, как те, что вы изучали в главе 3), Сводная таблица (PivotTable) или Сводная диаграмма (PivotChart). Наконец, можно воспользоваться режимом Разделенная форма (Split Form) для применения представления, которое сочетает режим таблицы с настроенной вами формой. Вы узнаете больше об этом варианте в следующем разделе. 8. При желании задайте в свойстве Разделительные линии (Dividing Lines) значение Да дляотображения тонкой горизонтальной линии между записями. Теперь при переходе в Режим формы вы увидите одновременно несколько записей при условии, что они могут поместиться в окне программы. Разделенные формы У режимов представления одиночной записи и множественных записей есть свои достоинства. В режиме отображения одиночной записи у вас много места для просмотра записи и вас не отвлекает обилие информации на экране. В режиме одновременного представления нескольких записей вы можете сравнить текущую запись с соседними записями. В программе Access есть тип формы, который позволяет воспользоваться преимуществами обоих режимов представления сразу, — разделенные формы. Этот тип в одной форме сочетает оба представления данных. Идея заключается в том, что вы можете использовать таблицу для просмотра всех записей и форму для просмотра или редактирования одной записи. На рис. 12.19 показан пример. Примечание Обычно таблица применяется для перехода к записи, которую хотите редактировать, форма — для ее просмотра и корректировки, но в этом нет необходимости — вы можете изменять записи в таблице и переходить от записи к записи с помощью кнопок перехода в нижней части формы. Разделенную форму создать легко — нужно просто выбрать на ленте Создание → Формы → Разделенная форма (Create → Forms →Split Form). Но вам нужно знать немного больше, если вы хотите превратить имеющуюся форму в разделенную или изменить способ представления разделов в разделенной форме. Секрет кроется в изменении параметров формы с помощью Окна свойств. Вот как это делается. 1. Переключите форму в Конструктор.
Рис. 12.19. В наиболее часто применяемом типе разделенной формы табличный раздел помещается сверху. Выбранная в данный момент запись отображается под таблицей. Размер каждого раздела можно изменить, перетащив мышью линию разделения, находящуюся между ними Несколько дополнительных параметров позволяют управлять работой разделенных форм. В табл. 12.1 приведены подробности. Таблица 12.1. Свойства разделенных форм
Таблица 12.1 (окончание)
Еще более полезные свойства формы К настоящему моменту вы пользовались Окном свойств для изменения режима формы, позволяя обычной форме отображать несколько записей или используя разделенное представление. Но в Окне свойств хранится еще множество параметров. Одни полезны; другими вы почти никогда не будете пользоваться. В табл. 12.2 перечислено еще несколько параметров, которые могут оказаться кстати. Таблица 12.2. Полезные свойства формы
Таблица 12.2 (продолжение)
Таблица 12.2 (окончание)
Примечание Многие свойства формы применяются только в редких случаях, когда используются свободно плавающие окна. Вы можете выбрать задание автоматической центровки окна (Выравнивание по центру (Auto Center)), формирование границы окна (Тип границы (Border Style)), наличие или отсутствие кнопок открытия во весь экран и сворачивания на панель задач (Кнопки размеров окна (Min Max Buttons)) и т. д. Эти свойства не окажут заметного влияния, если ваша БД использует более стандартные окна с вкладками. На профессиональном уровне. Семейство форм Access Формы Access стараются удовлетворить любые потребности. Если вы спешите, можно создать готовую форму с базовым макетом и добавить лишь несколько штрихов форматирования. Если же вы чувствуете приближение творческого порыва, можно извлечь все поля из стандартных макетов и поместить их где угодно. Иначе говоря, формы — это гибкие объекты, предоставляющие страдающим от нехватки времени деловым людям удобства, в которых нуждаются, а серьезным художникам — творческий контроль, который им необходим. Рассмотрим все варианты форм.
Мастер создания форм Вы уже научились создавать разные широко используемые формы. Программа Access предлагает другой способ построения формы: с помощью Мастера создания форм. У этого мастера удивительное сходство с Мастером создания отчетов, который применялся в главе 10. Он задает ряд вопросов и затем создает соответствующую форму. Но вопросы крайне элементарны, и созданная форма не многим лучше добротной отправной точки для последующей настройки. Далее описаны действия, необходимые для выполнения Мастера создания форм.
3 . Добавьте поля, которые хотите включить, как показано на рис. 12.20. Когда закончите, нажмите кнопку Далее. Можно выбрать поля из нескольких таблиц, при условии, что эти таблицы связаны. Рис. 12.20. Для вставки поля выделите его и затем щелкните мышью кнопку > для переноса поля из списка Доступные поля в список Выбранные поля. Для вставки всех полей нажмите кнопку » 4. Выберите вариант макета для вашей формы. К ним относятся следующие:
Примечание Выровненные формы трудно корректировать в дальнейшем. Например, если потребуется добавить поле в середину макета формы, вы столкнетесь с трудоемкой задачей по перемещению на новые места множества полей, попадающихся на пути. Часто бывает легче создать снова форму с чистого листа с помощью мастера. 5. Выберите один из подготовленных заранее стилей и щелкните мышью кнопку Далее. Стили определяют форматирование, которое программа Access применяет к вашей форме. К сожалению, трудно представить себе, как будет выглядеть конечный результат, пока не попробуете на деле каждый вариант стиля. 6. Введите имя формы. Когда Мастер создания форм закончит работу, он тут же запишет форму с заданным именем. 7. Выберите вариант Открыть форму для просмотра и ввода данных (Open the form to view or edit information), если хотите начать использовать форму для работы с данными, или вариант Изменить макет формы (Modify the form's design), если сначала хотите настроить ее в Конструкторе. Затем щелкните мышью кнопку Готово. Программа Access сохранит форму и откроет ее в Режиме формы или в Конструкторе в зависимости от выбранного вами варианта. |