Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Access_2007.doc
Скачиваний:
257
Добавлен:
17.03.2015
Размер:
20.6 Mб
Скачать

Малоизвестная или, недооцененная возможность. Вывод на экран изображений из бд

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

В формах вложения элегантно обрабатываются с помощью элемента управления Вло­жение. У элемента управления Вложение есть одно ценное качество — он отображает графическое содержимое непосредственно на форме.

Рассмотрим, как функционирует этот элемент управления. Если поле типа Вложение хранит изображение, это изображение появляется в поле элемента управления Вложе­ние, так что можно любоваться им непосредственно на форме. Подобное поведение — существенное улучшение по сравнению с листом данных, который вынуждает для про­верки открывать файл изображения в другой программе. Если поле Вложение хранит несколько изображений, еще важнее то, что можно использовать стрелки на удобной раскрывающейся мини-панели для перехода от одного изображения к другому, как по­казано на рис. 12.8.

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

Рис. 12.8. Вверху: поле Рисунок отображает куклу-болванчика. Программа Access подбирает размер рисунка, соответствующий полю элемента Вложение (без неестественного растяжения или перекашивания рисунка). Внизу: когда выбирается поле Рисунок, на экране над рисунком появляется мини-панель с дополнительными элементами. Кнопки-стрелки позволяют просмотреть все вложенные файлы, относящиеся к данной записи. Пиктограмма скрепки открывает окно Вложения, в котором можно добавить или удалить вложения или открыть их в другой программе

Удаление записи

Если вы обнаруживаете запись, которой не должно быть, ее можно стереть за секунду. Самый легкий способ удаления текущей - выбрать на ленте Главная → Записи → Удалить (Home Records Delete). Но есть и другая возможность. Можно выбрать всю запись, щелкнув кнопкой мыши левое боковое поле в окне формы. После этого можно удалить ее, нажав клавишу <Delete>.

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

Печать записей

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

Рис. 12.9. В этом окне предварительного просмотра показано, что вы получите, если напечатаетеформу со списком клиентов CustomerList. Распечатка соответствует форме, у нее то же форматирование и макет. Когда Access впервые создает форму, ей задается ширина обычного листа бумаги. Когда вы печатаете форму, программа размещает на каждой странице столько записей — в данном случае три — сколько она может вместить

Для этого откройте форму и затем выберите: кнопка Office → Печать. На экране появля­ется знакомое диалоговое окно Печать, в котором можно выбрать принтер и нужное число копий.

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

Для того чтобы просмотреть результат перед выводом на печать, можно выбрать кнопку Office Печать Предварительный просмотр (рис. 12.9). Для того чтобы вернуться в ок­но формы, щелкните кнопкой мыши Предварительный просмотр Закрыть Закрыть окно предварительного просмотра.

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

Сортировка и фильтрация в формах

Сортировка и фильтрация — две незаменимые функциональные возможности, предостав­ляемые программой Access в Режиме формы. Освоить их на самом деле легко — вы уже уз­нали, все что нужно, когда подробно знакомились с листом данных в главе 3. Создатели Access хорошенько позаботились о том, чтобы фильтрация и сортировка действовали в формах так же, как на листе данных. Вы применяете одни и те же команды в одной и той же части ленты для запуска этих средств обработки.

Сортировка в форме

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

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

Дополнительную информацию о вариантах сортировки (включая сортировку по не­скольким полям) см. в разд. "Сортировка" главы 3.

Фильтрация в форме

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

Формы предоставляют следующие варианты фильтрации или отбора.

  • Обычный фильтр отображает список всех значений для конкретного поля и позволяет выбрать те, которые вы хотите скрыть. Его легко применять, но он может потребовать значительного времени. Если вы хотите скрыть числовые значения, попадающие в определенный диапазон, эту работу можно сделать гораздо быстрее с помощью фильтра по условию (filter by condition) (который будет описан чуть позже). Для отображения списка значений обычного фильтра перейдите к полю, которое хотите фильтровать, и щелкните кнопкой мыши Главная Сортировка и фильтр Фильтр (Home Sort & Filter Filter). В разд. "Обычный фильтр" главы 3 приведено подробное описание обычных фильтров.

  • Фильтр по выделенному применяет фильтрацию, основанную на имеющемся значении. Сначала найдите значение в одной из записей, щелкните его правой кнопкой мыши и выберите вариант отбора. Можно щелкнуть правой кнопкой мыши значение цены $25 и выбрать вариант Больше или равно $25 (Greater Than or Equal to 25) для того, чтобы скрыть дешевые товары. Более подробную информацию см. в разд. "Фильтр по выделенному " главы 3.

  • Фильтр по условию позволяет задать точное условие для отбора записей. Оно необязательно должно базироваться на имеющемся значении. Для вставки этого варианта фильтрации щелкните правой кнопкой мыши поле и затем найдите подменю с вариантами отбора. Его название зависит от данных, так для текстовых полей в меню включен вариант Текстовые фильтры, для числовых полей — Числовые фильтры и т. д. Вы можете больше узнать об этом типе фильтра в разд. "Расширенный фильтр" главы 3.

  • Расширенные фильтры — это фильтры, в которых условия отбора формируются с по­мощью окна, напоминающего окно Конструктора запросов. Преимущество расширен­ных фильтров состоит в возможности применения фильтрации сразу по нескольким по­лям. Для создания набора расширенных фильтров выберите Главная → Сортировка и фильтр Дополнительно Расширенный фильтр (Home Sort & Filter Advanced Filter Options Advanced Filter/Sort).

Примечание

Если вы вставляете запись, не отвечающую установленным в данный момент условиям отбора, новая запись будет скрыта, как только вы ее добавите. Для того чтобы вернуть ее на экран, удалите условия фильтрации с помощью ленты: выберите вкладку Главная, щелкните мышью кнопку Дополнительно в группе Сортировка и фильтр и затем выберите команду Очистить все фильтры (Clear All Filters). Или воспользуйтесь кнопкой Применить фильтр (Toggle Filter) для временной приостановки действия фильтра (позже, для того чтобы возобновить действие фильтра, снова щелкните мышью кнопку Применить фильтр).

Применение фильтра по форме

Существует еще одно средство фильтрации, действующее в формах: фильтр по форме. По сути "фильтр по форме" преобразует форму в полнофункциональную форму поиска (search form). С помощью этой формы поиска вы задаете одно или несколько условий отбора. Затем вы применяете фильтр для отображения записи (или записей), соответствующей условиям отбора.

Несмотря на то, что фильтр по форме можно применять на листе данных, он проявляет себя во всей красе в формах. Фильтр по форме особенно удобен для поиска единственной

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

1. Выберите на ленте Главная Сортировка и фильтр Дополнительно Изменить фильтр.

Программа Access переведет форму в режим поиска. В этом режиме форма остается прежней, но все ее поля становятся пустыми.

Если средство "фильтр по форме" уже использовалось, и вы вернулись к нему для того, чтобы изменить параметры фильтрации, следует начать с удаления набора установлен­ных прежде фильтров. Для этого щелкните правой кнопкой мыши пустое место в облас­ти формы и выберите команду Очистить бланк (Clear Grid).

  1. Перейдите в поле, которое хотите использовать для фильтрации.

В нем появится стрелка, признак раскрывающегося списка.

  1. Щелкните кнопкой мыши стрелку раскрывающегося списка и выберите значение, которое хотите включить в результаты.

В раскрывающемся списке отображаются все значения из разных записей таблицы (рис. 12.10). Когда вы выберите одно значение, оно появится в поле в кавычках.

Рис. 12.10. На рисунке представлена форма Customers в режиме фильтра по форме. С помощью раскрывающегося списка вы можете быстро найти клиента по фамилии или найти имя, набрав несколько первых букв, вместо прокрутки списка, как здесь показано. В данном примере набор букв "Ra" приводит к выводу первого буквенного совпадения: фамилии Randawa

4. Если хотите применить фильтр к нескольким полям, вернитесь к пункту 2.

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

фильтр к полю FirstName. Но если у клиента распространенное имя, может быть, при­дется применить фильтр к еще одному полю, например City.

Если не нужны точные совпадения, можно создать более сложные фильтры с помощью выражения. Задайте <10 для поиска числовых значений, меньших 10, и Like Jon* для поиска текстовых значений, таких как "Jones", "Jonathon" и "Jonson". Фильтрация осо­бенно эффективна в случае полей с датами. В разд. "Построение условий отбора " главы 6 приводится много примеров условий отбора.

5. Если вы хотите выполнить несколько операций фильтрации и объединить результаты, щелк­ните кнопкой мыши вкладку Или и задайте дополнительные условия отбора (рис. 12.11).

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

Если заполнить первую форму Найти так, что в ней ищутся записи с фамилией "Gorfinkel", и вторую форму поиска с именем "Jehosophat", в ваши результаты будут включены все записи с фамилией Gorfinkel и все записи с именем Jehosophat. Но если оба эти условия отбора поместить на одну форму поиска, будут отобраны только записи о людях с именем и фамилией Jehosophat Gorfinkel.

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

Программа Access переключается в нормальное представление формы и применяет ус­ловия фильтрации. В нижней части формы между кнопками переходов и полем поиска

появится словосочетание С фильтром (Filtered), сообщающее о том, что отображаются не все записи.

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

Подсказка

Для удаления условий отбора, но сохранения их под рукой и применения в дальнейшем, выбе­рите на ленте ГлавнаяСортировка и фильтр Применить фильтр. Для повторного при­менения фильтра позже, щелкните мышью кнопкуПрименить фильтреще раз. 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 для каждого поля, которое хотите перенести в новый макет.

Перенос поля из одного макета в другой может быть непростым занятием. Если все идет не так, как следует, и поле располагается в неверном месте, воспользуйтесь командой Отменить для исправления ситуации. (Команда Отменить запускается нажатием комби­нации клавиш <CtrI>+<Z> или щелчком мышью кнопки Отменить на Панели быстрого доступа, находящейся над лентой.)

7. Когда второй макет скомпонован, перенесите его в нужное место.

Для перемещения макета щелкните кнопкой мыши одно из его полей и найдите пикто­грамму из перекрещенных стрелок в левом верхнем углу. Перетащите мышью эту пикто­грамму для переноса всего макета. Будьте внимательны — если поместить один макет слишком близко к другому, программа Access решит, что вы хотите объединить оба ма­кета в один. (Можно во время перетаскивания держать нажатой клавишу <Ctrl> для то­го, чтобы запретить Access делать это.)

На рис. 12.14 показан окончательный вариант формы с несколькими макетами.

Применение табличных макетов

Макеты организуют элементы управления двумя способами: в столбик (каждое поле зани­мает отдельную строку) и в таблицу (каждое поле помещается в отдельный столбец). Фор­мам, как правило, больше подходит организация полей в столбик, а табличные макеты удоб­нее для компактной компоновки отчетов. Тем не менее иногда в форме может потребоваться табличный макет. Чаще всего такая необходимость возникает при одновременном выводе нескольких записей; гораздо легче выводить на экран больший объем данных, если поля заключены в столбцы.

Подсказка

Несмотря на то, что форма может содержать несколько макетов обоих типов (табличные и в столбик), они редко хорошо сочетаются друг с другом. Лучше выбрать один тип и придержи­ваться его.

Для замены обычной формы (с макетом в столбик) на форму с табличным макетом вы­полните следующие действия.

1. Убедитесь в том, что вы находитесь в Режиме макета.

Если нет, щелкните правой кнопкой мыши заголовок вкладки и выберите Режим макета.

Рис. 12.15.На этом табличном макете отображены четыре столбца данных. У формы один элемент управления вне макета: поле примечаний Notes, которое разработчик формы переместил вниз, чтобы обеспечить ему достаточное пространство

Рис. 12.16. Обычно табличные макеты связаны с формами, отображающими много записей одновременно, как форма, показанная на рисунке

2. Выделите все поля формы, удерживая нажатой клавишу <Shift> и щелкая один раз кнопкой мыши каждое поле одно за другим.

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

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. Переключите форму в Конструктор.

  1. Если на экране нет Окна свойств, отобразите его, выбрав Инструменты конструктора форм | Конструктор Сервис Страница свойств (Form Design Tools | Design Tools Property Sheet).

  2. В раскрывающемся списке Окна свойств выберите Форма (Form).

  3. Выберите вкладкуМакет (Format), включающую все параметры, относящиеся к разделенным формам.

  4. Найдите параметр Режим по умолчанию (Default Value) и задайте ему значение Разделенная форма (Split Form). Вы получаете окно, разделенное на две части, показанное на рис. 12.19.

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

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

Таблица 12.1. Свойства разделенных форм

Свойство

Описание

Ориентация разделенной фор­мы (Split Form Orientation)

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

Размер разделенной формы

(Split Form Size)

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

Таблица 12.1 (окончание)

Свойство

Описание

Линия разделения в разделен­ной форме (Split Form Splitter Bar)

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

Сохранение положения линии разделения (Save Splitter Bar Position)

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

Таблица разделенной формы

(Split Form Datasheet)

Измените значение параметра на Только чтение (Read Only), если хотите запретить изменение данных в табличном разделе окна формы. (Таблицу при этом все же можно будет использо­вать для перехода от одной записи к другой.) Подобное дейст­вие позволяет избежать ошибок, вызванных случайным нажа­тием клавиш. Если вы хотите запретить и редактирование, используйте параметры Разрешить изменение (Allow Edits), Разрешить удаление (Allow Deletions) и Разрешить добавле­ние (Allow Additions), описанные в табл. 12.2

Печать разделенной формы

(Split Form Printing)

Сообщите программе Access об использовании при печати только табличного представления (Только таблица) или только представления формы (Только форма). Стандартное значение Только форма означает организацию вашей информации в распечатке в соответствии с макетом вашей формы

Еще более полезные свойства формы

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

Таблица 12.2. Полезные свойства формы

Свойство

Вкладка

Описание

Источник записей (Record Source)

Данные (Data)

Откуда поступили данные. В этом свойстве обычно указано имя таблицы или запроса в БД. Но если вы любите техни­ческие приемы, в этом поле можно непосредственно на­брать новую команду SQL (см. разд. "Режим SQL" главы 6)

Таблица 12.2 (продолжение)

Свойство

Вкладка

Описание

Фильтр (Filter)

Данные (Data)

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

Фильтр при загрузке (Filter On Load)

Данные (Data)

Если задано значение Да, условие отбора применяется во время открытия формы. Если значение Нет, условие отбо­ра сохраняется, но не применяется до тех пор, пока вы не выберите на ленте Главная Сортировка и фильтрПрименить фильтр (HomeSort & FilterApply Filter)

Порядок сорти­ровки (Order By)

Данные (Data)

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

Сортировка при загрузке (Order By On Load)

Данные (Data)

Если задано значение Да, Access применяет заданную сортировку при открытии формы. Если — Нет, порядок сортировки запоминается, но не применяется. Этот вари­ант неособенно полезен — до тех пор, пока вы не откроете Окно свойств снова и не зададите значение Да в данном свойстве, сохраняемый порядок сортировки никогда не будет реализован

Применение фильтров (Allow Filters)

Данные (Data)

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

Подпись

(Caption)

Макет (Format)

Текст, появляющийся в заголовке вкладки (или заголовок окна, если вы используете перекрывающиеся окна вместо документов со вкладками). Если это поле оставить пустым, программа Access использует имя формы как заголовок

Разрешить режим...

(Allow ... View)

Макет (Format)

Эти параметры позволяют отключить определенный режим представления. Например, если задать Нет в параметре Разрешить режим макета (Allow Layout View), в меню ис­чезнет вариант для переключения формы в Режим макета

Разрешить из­менение (Allow Edits)

Данные (Data)

Если задать Нет, вы не сможете корректировать данные в форме. Но сможете добавить новую запись с полностью новыми данными. Стандартное значение —Да

Разрешить уда­ление (Allow Deletions)

Данные (Data)

Если задать Нет, вы не сможете в этой форме удалять никакие записи. Стандартное значение —Да

Разрешить до­бавление (Allow Additions)

Данные (Data)

Если задать Нет, вы не сможете вставить новую запись в эту форму. Стандартное значение —Да

Ввод данных

(Data Entry)

Данные (Data)

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

Таблица 12.2 (окончание)

Свойство

Вкладка

Описание

Область выде­ления (Record Selectors)

Макет (Format)

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

Кнопки перехо­да (Navigation Buttons)

Макет (Format)

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

Примечание

Многие свойства формы применяются только в редких случаях, когда используются свободно плавающие окна. Вы можете выбрать задание автоматической центровки окна (Выравнивание по центру (Auto Center)), формирование границы окна (Тип границы (Border Style)), наличие или отсутствие кнопок открытия во весь экран и сворачивания на панель задач (Кнопки размеров окна (Min Max Buttons)) и т. д. Эти свойства не окажут заметного влияния, если ваша БД использует более стандартные окна с вкладками.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]