Access 2007
.pdf
группы элементов управления. Если в макете увеличить ширину одного поля, ширина остальных полей в нем также увеличится. Если передвинуть макет, все элементы управления переместятся вместе с ним. И если вы перекомпонуете макет, все элементы управления займут соответствующее пространство.
Примечание
Элементы управления — это компоненты, которые можно вставлять в отчеты и формы. К ним относятся, например, Подписи, Рисунки и Поля. Некоторые элементы управления применяются для отображения неизменного содержимого (например, заголовок формы), другие содержат меняющиеся данные (например, значения полей текущей записи).
Если вы хотите иметь возможность располагать элементы управления в точно заданной позиции, прежде всего их надо извлечь из. макета. (И, как и в отчетах, потребуется значительное время для размещения элементов управления вручную и проверки полученных результатов.)
Рис. 12.12. Этого причудливого ступенчатого расположения нельзя было бы добиться в табличной структуре макета. Но за такой дизайн приходится платить (и это не только зрительное перенапряжение). Если вы когданибудь измените таблицу и потребуется корректировка формы, вы затратите много усилий на перекомпоновку полей, т. к. за кадром нет никакого макета, удерживающего их вместе
Прежде чем извлекать элемент управления из макета, убедитесь в том, что вы находитесь в Режиме макета или в Конструкторе (щелкните правой кнопкой мыши заголовок вкладки и выберите Режим макета или Конструктор). На Режим макета приятнее смотреть, но в
Конструкторе легче перемещать поля. Когда вы с помощью мыши перетаскиваете в Конструкторе название поля (например, Подпись, содержащую слово "ProductName"), связанный
411
с ней элемент управления, отображающий значение поля, также перемещается. В Режиме макета придется двигать каждый компонент отдельно, что удваивает объем работы. (Между прочим, в Конструкторе тоже можно перемещать Подписи и Поля отдельно, если знать, где щелкнуть кнопкой мыши. Объяснения см. в разд. "Создание отчета без помощи мастера" главы 11.)
Для реального перемещения поля щелкните правой кнопкой мыши поле, положение которого хотите изменить, и выберите Макет →Удалить (Layout → Remove). Затем перетащите поле в новое место. На рис. 12.12 показан пример формы, не применяющей макеты ни для одного из своих элементов управления.
Применение нескольких макетов
Как вы уже узнали в этой главе, программа Access располагает поля в нескольких колонках, если не может разместить их в одной (см. рис. 12.2). Когда формируется несколько колонок, каждая из них обладает собственным макетом.
Приятная новость — вы тоже можете создать несколько макетов. Такая необходимость может возникнуть в следующих ситуациях:
■размещение полей в смежных колонках — это делается с помощью расположения одного макета следом за другим;
■размещение полей в нескольких разных группах — эти поля могут выводиться в разных местах формы. Одна группа может располагаться вверху, а другая внизу, а между ними — другое содержимое;
■задание разной ширины полей — у всех полей в макете одинаковая ширина. Если поместить поля в разные макеты, для них можно задать разную ширину.
Рис. 12.13. Когда указатель мыши перемещается в области нового, только что созданного вами макета, на экране появляется желтая линия, обозначающая позицию поля после того, как вы отпустите кнопку мыши. Вы можете поместить поле в верхнюю часть макета, в нижнюю его часть или в любое место внутри макета. В данном примере поле PostalCode вставляется между полями State и Country
412
Для помещения поля в новый макет выполните следующие действия.
1.Убедитесь, что вы находитесь в Режиме макета.
Если нет, щелкните правой кнопкой мыши заголовок вкладки с формой и выберите Ре-
жим макета.
2.Щелкните правой кнопкой мыши первое поле, которое хотите удалить из макета, и затем выберите Макет → Удалить.
Если поле находится в середине таблицы макета, программа Access отодвигает его в сторону. Если поле расположено в конце таблицы макета, его положение не меняется.
3.Перетащите мышью поле в другую часть формы.
Если вы хотите расположить второй макет под первым, перетащите мышью поле в нижнюю часть формы на его новое место.
Рис. 12.14. В данной форме поля сгруппированы в четыре четких подраздела. Таким образом, создается более ясная и наглядная компоновка по сравнению с единым табличным макетом, но сложность создания формы без макетов возрастает, в особенности если позже придется добавлять дополнительные поля или менять порядок расположения полей на форме
413
4.Щелкните правой кнопкой мыши удаленное из макета поле и выберите команду Макет → В столбик (Layout → Stacked). Этим действием создается новый макет для поля, которое вы освободили в пункте 2.
Все макеты, которые вы видели до сих пор, — макеты в столбик, располагающие поля одно над другим. Пример табличного макета (поля располагаются бок о бок) вы увидите в следующем разделе.
5.Найдите поле, которое хотите перенести в новый макет, и перетащите его туда мышью (рис. 12.13).
Перетаскивание поля из одного макета в другой — рациональный способ. Он действует быстрее, чем удаление всех нужных полей из первого макета, а затем добавление их во второй макет.
6.Повторите пункт 5 для каждого поля, которое хотите перенести в новый макет.
Перенос поля из одного макета в другой может быть непростым занятием. Если все идет не так, как следует, и поле располагается в неверном месте, воспользуйтесь командой Отменить для исправления ситуации. (Команда Отменить запускается нажатием комбинации клавиш <CtrI>+<Z> или щелчком мышью кнопки Отменить на Панели быстрого доступа, находящейся над лентой.)
7.Когда второй макет скомпонован, перенесите его в нужное место.
Для перемещения макета щелкните кнопкой мыши одно из его полей и найдите пиктограмму из перекрещенных стрелок в левом верхнем углу. Перетащите мышью эту пиктограмму для переноса всего макета. Будьте внимательны — если поместить один макет слишком близко к другому, программа Access решит, что вы хотите объединить оба макета в один. (Можно во время перетаскивания держать нажатой клавишу <Ctrl> для того, чтобы запретить Access делать это.)
На рис. 12.14 показан окончательный вариант формы с несколькими макетами.
Применение табличных макетов
Макеты организуют элементы управления двумя способами: в столбик (каждое поле занимает отдельную строку) и в таблицу (каждое поле помещается в отдельный столбец). Формам, как правило, больше подходит организация полей в столбик, а табличные макеты удобнее для компактной компоновки отчетов. Тем не менее иногда в форме может потребоваться табличный макет. Чаще всего такая необходимость возникает при одновременном выводе нескольких записей; гораздо легче выводить на экран больший объем данных, если поля заключены в столбцы.
Подсказка
Несмотря на то, что форма может содержать несколько макетов обоих типов (табличные и в столбик), они редко хорошо сочетаются друг с другом. Лучше выбрать один тип и придерживаться его.
Для замены обычной формы (с макетом в столбик) на форму с табличным макетом выполните следующие действия.
1. Убедитесь в том, что вы находитесь в Режиме макета.
Если нет, щелкните правой кнопкой мыши заголовок вкладки и выберите Режим макета.
414
Рис. 12.15. На этом табличном макете отображены четыре столбца данных. У формы один элемент управления вне макета: поле примечаний Notes, которое разработчик формы переместил вниз, чтобы обеспечить ему достаточное пространство
Рис. 12.16. Обычно табличные макеты связаны с формами, отображающими много записей одновременно, как форма, показанная на рисунке
2. Выделите все поля формы, удерживая нажатой клавишу <Shift> и щелкая один раз кнопкой мыши каждое поле одно за другим.
415
Для экономии времени найдите на экране пиктограмму из перекрещенных стрелок в правом верхнем углу макета, которая появляется, как только вы выделите какой-либо компонент макета. Вы можете одним щелчком по этой пиктограмме выделить целиком весь макет.
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, Окно свойств позволяет настроить параметры элементов управления и других объектов. В данном случае параметра, который нужно изменить, нет на ленте. Он спрятан в Окне свойств.
416
Рис. 12.17. Вы можете видеть три товара на одном экране. (Обратите внимание на то, что нижние три поля удалены из использующегося для трех верхних полей макета в столбик для того, чтобы расположить их более плотно относительно друг друга.) Стрелка в боковом поле указывает на то, что вторая запись — текущая. Для просмотра дополнительных записей можно воспользоваться кнопками перехода в нижней части формы или полосой прокрутки, расположенной справа
Рис. 12.18. Для сжатия формы перетащите вверх с помощью мыши нижнюю границу так, чтобы она располагалась на уровне нижней границы самого нижнего элемента управления
417
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. Переключите форму в Конструктор.
418
2.Если на экране нет Окна свойств, отобразите его, выбрав Инструменты конструктора форм | Конструктор → Сервис → Страница свойств (Form Design Tools | Design → Tools → Property Sheet).
3.В раскрывающемся списке Окна свойств выберите Форма (Form).
4.Выберите вкладку Макет (Format), включающую все параметры, относящиеся к разделенным формам.
5.Найдите параметр Режим по умолчанию (Default Value) и задайте ему значение Разделенная форма (Split Form). Вы получаете окно, разделенное на две части, показанное на рис. 12.19.
Рис. 12.19. В наиболее часто применяемом типе разделенной формы табличный раздел помещается сверху. Выбранная в данный момент запись отображается под таблицей. Размер каждого раздела можно изменить, перетащив мышью линию разделения, находящуюся между ними
Несколько дополнительных параметров позволяют управлять работой разделенных форм. В табл. 12.1 приведены подробности.
Таблица 12.1. Свойства разделенных форм
Свойство |
Описание |
|
|
Ориентация разделенной фор- |
С помощью этого параметра можно поместить раздел с |
мы (Split Form Orientation) |
таблицей в верхнюю часть окна (стандартный вариант), в |
|
нижнюю, слева или справа |
|
|
Размер разделенной формы |
Задает размер раздела таблицы в окне формы. Придется |
(Split Form Size) |
поэкспериментировать с разными числами, чтобы |
|
подобрать подходящий. Большинство пользователей |
|
предпочитают задавать размер раздела разделенной |
|
формы вручную в Режиме формы |
419
Таблица 12.1 (окончание) |
|
Свойство |
Описание |
|
|
Линия разделения в |
Если задать этому параметру значение Нет, исчезнет |
разделенной форме (Split |
разделительная полоска между разделами окна. Вы (или |
Form Splitter Bar) |
пользователь, работающий с формой) не сможете |
|
изменять разделы окна, перемещая линию разделения |
|
мышью. Вместо этого вы будете жестко привязаны к |
|
размеру, заданному в параметре Размер разделенной |
|
формы |
|
|
Сохранение положения |
Если этому параметру задать значение Да, каждый раз, |
линии разделения (Save |
когда вы перемещаете линию разделения, текущий |
Splitter Bar Position) |
размер раздела с таблицей будет сохраняться в параметре |
|
Размер разделенной формы. При следующем открытии |
|
формы линия разделения окажется в позиции, |
|
соответствующей последнему изменению. Если задать |
|
этому параметру значение Нет, Access не будет |
|
сохранять изменение позиции линии разделения. Она |
|
вернется в исходную позицию в соответствии со |
|
значением параметра Размер разделенной формы |
|
|
Таблица разделенной формы |
Измените значение параметра на Только чтение (Read |
(Split Form Datasheet) |
Only), если хотите запретить изменение данных в |
|
табличном разделе окна формы. (Таблицу при этом все |
|
же можно будет использовать для перехода от одной |
|
записи к другой.) Подобное действие позволяет избежать |
|
ошибок, вызванных случайным нажатием клавиш. Если |
|
вы хотите запретить и редактирование, используйте |
|
параметры Разрешить изменение (Allow Edits), |
|
Разрешить удаление (Allow Deletions) и Разрешить |
|
добавление (Allow Additions), описанные в табл. 12.2 |
|
|
Печать разделенной формы |
Сообщите программе Access об использовании при |
(Split Form Printing) |
печати только табличного представления (Только таблица) |
|
или только представления формы (Только форма). |
|
Стандартное значение Только форма означает |
|
организацию вашей информации в распечатке в |
|
соответствии с макетом вашей формы |
|
|
Еще более полезные свойства формы
К настоящему моменту вы пользовались Окном свойств для изменения режима формы, позволяя обычной форме отображать несколько записей или используя разделенное представление. Но в Окне свойств хранится еще множество параметров. Одни полезны; другими вы почти никогда не будете пользоваться. В табл. 12.2 перечислено еще несколько параметров, которые могут оказаться кстати.
Таблица 12.2. Полезные свойства формы
Свойство |
Вкладка |
Описание |
|
|
|
Источник |
Данные (Data) |
Откуда поступили данные. В этом свойстве обычно |
записей (Record |
|
указано имя таблицы или запроса в БД. Но если вы |
Source) |
|
любите технические приемы, в этом поле можно |
|
|
непосредственно набрать новую команду SQL (см. |
|
|
разд. "Режим SQL" главы 6) |
420
