
- •2.4.5. Проектирование форм и работа с ними
- •2.4.5.1. Создание формы с помощью Мастера
- •Вычисления в формах
- •Изменение записи
- •Изменение выравнивания текста в новых элементах управления или в надписях, присоединенных к новым элементам управления
- •Текстовая информация
- •Элемент управления Кнопка
- •Создание в отчете вычисляемых полей
- •Вставка рисунков в формы и отчеты
- •Придание отчету профессионального внешнего вида с помощью тем
- •Добавление изображений
- •Добавление изображения
- •Добавление фонового изображения
- •Просмотр и печать отчета Предварительный просмотр отчета
- •Печать отчета
Изменение записи
Можно изменить данные в одном или нескольких полях записи. Например, если требуется исправить написание названия клиентской компании, можно открыть форму «Клиенты» в режиме формы, перейти к записи, соответствующей данному клиенту, и отредактировать поле «Название» в этой форме. При переходе к другой записи в приложении Access это поле в соответствующей таблице будет изменено автоматически.
Откройте форму (в режиме формы), страницу (в обозревателе или в режиме страницы) или таблицу (в режиме таблицы), в которой необходимо отредактировать запись.
Перейдите к нужной записи с помощью кнопок на панели инструментов навигации.
С помощью мыши, клавиши TAB или клавиш со стрелками перейдите к полю, которое требуется отредактировать.
Чтобы полностью заменить содержимое поля в таблице, поместите указатель мыши вблизи левого края поля и, когда он примет форму знака «плюс», как показано в приведенном ниже примере, выполните щелчок. При работе с формой щелкните имя поля.
Чтобы добавить текст к существующему содержимому поля, поместите курсор в то место, в которое необходимо добавить новые символы. Курсор можно перемещать с помощью клавиш со стрелками. В приведенном ниже примере курсор находится в конце текущего содержимого поля, поэтому все, что будет вводиться, добавится к строке «Alfreds FutterKiste».
Введите текст в поле.
Примечание. Если при вводе текста допущена опечатка, нажмите клавишу BACKSPACE. Если требуется отменить все сделанные в поле изменения, нажмите клавишу ESC.
При попытке выйти из поля после изменения данных в приложении Access проверяется, являются ли введенные данные допустимыми для этого поля. Если значение не является допустимым, появляется предупреждающее сообщение. Дополнительные сведения см. в разделе Разрешение вопросов, связанных с редактированием данных в поле.
Чтобы выйти из поля, следует либо заменить введенные данные допустимым значением, либо отменить внесенные изменения, нажав клавишу ESC.
При переходе к другой записи в приложении Access сначала выполняется проверка на уровне записи, после чего происходит сохранение изменений. Если запись нельзя сохранить, необходимо
Форма для просмотра данных
№43
Элементом управления называют любой, объект фор-. мы или отчета, который служит для вывода данных на экран, оформления или выполнения макрокоманд. Элементы управления могут быть связанными, вычисляемыми или свободными. Связанный (присоединенный) элемент управления присоединен к полю базовой таблицы или запроса. При вводе значения в связанный элемент управления поле таблицы текущей записи автоматически обновляется. Поле таблицы является источником данных связанного элемента управления. Вычисляемый элемент управления создается на основе выражений. В выражениях могут использоваться данные полей таблицы или запроса, данные другого элемента управления формы или отчета и функции. Свободные элементы управления предназначены для вывода на экран данных, линий, прямоугольников и рисунков. Свободные элементы управления называют также переменными или переменными памяти. Все элементы управления могут быть добавлены в форму или отчет с помощью панели инструментов элементов управления, которая появляется при работе с формой или отчетом.
Создание составных форм
Разновидности элементов управления по типу содержимого
В Access существует три разновидности элементов управления, в зависимости от типа содержимого в них, т. е. от способа заполнения их данными:
присоединенные
свободные
вычисляемые
К какому из перечисленных видов относится тот или иной элемент управления, определяется тем, как задан для него источник данных.
Присоединенные элементы управления связаны с полями базовой таблицы, т. е. той таблицы, которая является источником данных для формы. Если источником данных является запрос, то присоединенные элементы управления могут связываться с полями в разных таблицах. В присоединенном элементе отображаются данные, которые содержатся в связанном с ним поле таблицы, и при изменении этих данных соответствующим образом обновляется и значение в поле таблицы. В присоединенных элементах можно отображать все доступные в Access типы данных, в том числе объекты OLE и гиперссылки.
Свободные элементы управления не связаны с таблицами. Они предназначены либо для ввода информации, которая используется не для непосредственного редактирования данных в источнике, а в других целях (обычно макросами или программами VBA), либо для отображения объектов OLE, которые хранятся в самих формах. Свободными элементами являются также все элементы, не связанные с какими-либо данными, а предназначенные лишь для улучшения визуального восприятия форм, такие как линии, прямоугольники, рисунки.
Вычисляемые элементы управления — это такие элементы, значения которых вычисляются на основе значений других элементов. В качестве источника данных для этих элементов используются выражения и функции.
Элемент управления Надпись
Элемент Надпись (Label) используется для размещения в форме текста: заголовков полей, заголовка формы, различных поясняющих надписей. Надписи бывают двух типов:
присоединенные
свободные
Присоединенные надписи — это те, что существуют не самостоятельно, а связаны с другими элементами управления, и служат их заголовками, т. к. других видимых на экране заголовков у этих элементов нет. К таким элементам относятся, например, текстовые поля, поля со списками, флажки, переключатели и др. Такого типа надписи автоматически создаются при размещении соответствующего элемента управления на форме и присоединяются к нему. При отображении формы в режиме Таблицы присоединенные надписи становятся заголовками столбцов.
Надписи, которые создаются с помощью кнопки Надпись (Label) на панели элементов, являются свободными, они не связываются ни с какими элементами управления. Эти надписи служат для оформления формы или для помощи пользователю, однако они не отображаются на экране, если форма выводится в режиме Таблицы.
Свободную надпись можно при необходимости присоединить к элементу управления:
Выделите элемент управления Надпись, который нужно присоединить к другому элементу.
Нажмите кнопку Вырезать (Cut) на панели инструментов (или нажмите комбинацию клавиш +).
Выделите элемент управления, к которому нужно присоединить надпись.
Нажмите кнопку Вставить (Paste) на панели инструментов (или нажмите комбинацию клавиш +).
Надпись окажется присоединенной к элементу управления.
Текст надписи определяется свойством Подпись (Caption), его можно изменить в диалоговом окне свойств надписи или непосредственно в самой надписи, щелкнув по выделенной надписи на форме. Текст надписей, как свободных, так и присоединенных, можно изменять динамически при работе приложения с помощью макросов или программ VBA. Можно также выводить новые надписи в форме или скрывать существующие при выполнении определенных условий. Максимальная длина текста надписи — 2048 символов (см. также гл. 13). Кроме обычного текста, надпись (не присоединенная к другому элементу) может также включать в себя гиперссылку. В этом случае свойство Адрес гиперссылки (Hyperlink Address) содержит адрес документа", на который ссылается гиперссылка, в формате URL или UNC. Указать дополнительно элемент внутри данного документа, чтобы именно на него ссылалась гиперссылка, позволяет свойство Дополнительный адрес (Hyperlink SubAddress). Это могут быть закладка в документе, идентификатор поименованного тэга, ссылка на лист и интервал ячеек в рабочей книге Excel или другой адресуемый элемент в зависимости от типа документа. Например, чтобы гиперссылка указывала на десятый слайд презентации PowerPoint, нужно задать следующие значения свойств:
адрес гиперссылки: С: Мои документыДоклад.ррt;
дополнительный адрес: 10.
А чтобы гиперссылка указывала на ячейку или интервал ячеек на листе электронной таблицы Excel, дополнительный адрес должен иметь вид ИмяЛиста!ИмяИнтервала, например: Лист1 !А2, Лист1 !А2:.В5 ИЛИ Лист1 !Итого.
Создать гиперссылку удобнее с помощью команды Вставка, Гиперссылка (Insert, Hyperlink).
Кроме надписей, гиперссылку может включать в себя и элемент управления Кнопка. Для этого у кнопок есть такие же свойства, задающие адрес гиперссылки.
Замечание
Н
адписи
с гиперссылками моут быть помещены и в
отчет, но при открытии отчета в Access не
будут срабатывать. Однако такие
гиперссылки будут работать в отчете,
преобразованном в формат Word, Excel или
HTML.
Элемент управления Поле
Элемент управления Поле (Text Box) наиболее часто используется, поскольку он служит для ввода и отображения данных. Обычно значение в поле вводится пользователем, однако можно задать его программно, присваивая значение свойству Text этого элемента. С помощью этого же свойства можно программно узнать текущее значение в поле. Длина текста, вводимого в текстовое поле, ограничена 65 535 символами.
Как и многие другие элементы управления, текстовые поля могут быть трех типов:
присоединенными
свободными
вычисляемыми
Мы уже описывали способы создания присоединенных и свободных текстовых полей (см. также разд. "Создание и удаление элементов формы" гл. 5). О том, как создавать вычисляемые поля, рассказано в разд. "Вычисления в формах" данной главы.
Элементы управления выбора: Выключатель, Переключатель, Флажок и Группа
О предоставлении пользователю возможности выбирать значение из предложенного набора вариантов с помощью элементов управления: флажков, переключателей, выключателей и групп элементов — уже говорилось в гл. 5. Рассмотрим эти элементы управления чуть более подробно. Три типа элементов: выключатели, переключатели и флажки — выполняют одинаковые функции и используются для представления значения логического типа данных. Они могут принимать значения о (Нет) или -1 (Да). Различаются они внешним видом (рис. 9.3).
Рис. 9.3. Элементы управления выбора
В верхней строчке изображены элементы, значения которых равны Да, в следующей строчке — эти же элементы, когда они имеют значение Нет. В третьей строчке изображены переключатель и флажок, когда их значение не определено. Выключатель имеет значение Да, когда он включен, и Нет — когда выключен. Переключатель имеет значение Да, когда он выбран, и Нет — когда не выбран. Флажок имеет значение Да, когда он установлен и Нет — когда сброшен. Если элементы выбора используются для отображения логических данных, хранящихся в поле таблицы, нужно определить для них значения по умолчанию, т. к. в противном случае в новой записи значения этих элементов не будут определены. Значение по умолчанию задается как значение одноименного свойства Значение по умолчанию (Default Value) либо в окне свойств элемента, либо с помощью процедуры VBA, либо с помощью" макроса. Всякий раз, когда пользователь щелкает мышью по элементу выбора, его значение изменяется на противоположное.
Поскольку эти элементы предназначены в первую очередь для улучшения визуального восприятия данных, то предусмотрено несколько вариантов их оформления. Для элемента управления Флажок (CheckBox) эти варианты представлены на рис. 9.4, остальные элементы имеют те же варианты оформления.
Рис. 9.4. Варианты оформления элементов выбора
Элемент управления Группа (Option Group) используется для того, чтобы дать возможность выбрать одно значение из небольшого набора вариантов. Пример групп элементов был приведен на рис. 9.3. Если элементы выбора объединены с помощью элемента управления Группа, то только один из этих элементов может быть выбран пользователем, т. е. получит значение Да.
Если требуется задать несколько независимых признаков, например тип оплаты и способ вывоза товара, необходимо создать несколько независимых элементов выбора или групп.
В одну группу можно объединить элементы выбора даже разных типов, но к полю таблицы присоединяется значение самой группы, а не составляющих ее элементов. Значением группы является уникальное значение, сопоставленное выбранному элементу (обычно это его порядковый номер). Чтобы привязать группу к источнику данных, установите значение свойства Данные (ControlSource) элемента Группа (Option Group). Чтобы выделить элемент Группа, а не элемент управления в группе, нужно щелкнуть по рамке группы. Тогда в диалоговом окне Свойства (Properties) отобразятся свойства группы (рис. 9.5).
Здесь же можно задать значение по умолчанию для группы, чтобы указать, какой элемент в группе должен быть выбран по умолчанию.
Элементы управления в группе не должны присоединяться к полям таблицы (в окне свойств для сгруппированных элементов даже не отображается свойство Данные (ControlSource)). Зато для каждого из элементов управления в группе нужно задать то уникальное значение, о котором мы упомянули, чтобы определить значение самой группы, когда данный элемент будет выбран. Делается это с помощью свойства Значение параметра (Option Value), которое должно быть числовым и обязательно уникальным для каждого из элементов управления в группе (рис. 9.6). В приведенном примере заданы следующие значения свойства Значение параметра (Option Value): 1 — Оплачено полностью, 2 — Оплачено частично, 3 — Не оплачено.
Когда пользователь выбирает один из переключателей в группе, значение элемента управления Группа (Option Group) становится равным значению параметра выбранного переключателя. Это значение сохранится в поле таблицы, которое указано в качестве источника данных для группы.
Для размещения элемента управления Группа (Option Group) на форме можно воспользоваться соответствующим мастером. Для демонстрации работы мастера рассмотрим процедуру создания группы, аналогичной представленной на рис. 9.5. Создайте новую форму, открыв ее в режиме Конструктора. Затем выполните следующие действия:
Выберите на панели элементов элемент управления Группа (Option Group) и перетащите его на форму (кнопка Мастера (Control Wizards) при этом должна быть нажата). Запустится Мастер группы и появится окно, представленное на рис. 9.7.
Рис. 9.5. Свойства элемента управления Группа
Рис. 9.6. Установка значения параметра переключателя
Рис. 9.7. Первое диалоговое окно Мастера группы
В этом окне нужно ввести текст надписей, которые будут размещаться справа от флажков (выключателей или переключателей). Вы можете заполнить эту таблицу так, как это показано на рис. 9.7). Нажмите кнопку Далее (Next). Появится следующее диалоговое окно мастера (рис. 9.8).
Рис. 9.8. Второе диалоговое окно Мастера группы
Теперь нужно выбрать тот флажок (выключатель, переключатель), который будет установлен по умолчанию, или указать, что не нужно определять значение по умолчанию. Выберите из списка значение Не оплачено и нажмите кнопку Далее (Next).
В следующем диалоговом окне мастера (рис. 9.9) необходимо определить значения для каждого параметра. По умолчанию мастер предлагает возрастающую последовательность чисел: 1, 2, 3. Можете оставить эти значения и просто нажать кнопку Далее (Next).
Рис. 9.9. Третье диалоговое окно Мастера группы
Рис. 9.10. Четвертое диалоговое окно Мастера группы
Если данная форма связана с каким-либо источником данных, то есть возможность создаваемую группу привязать к одному из полей в этом источнике данных. В таком случае появится диалоговое окно, представленное на рис. 9.10. В противном случае отобразится окно, представленное на рис. 9.11, и нужно будет перейти сразу к шагу 6. В диалоговом окне, показанном на рис. 9.10, следует выбрать, будет ли создаваемая группа связана с полем источника данных или останется свободным элементом — например, чтобы значение группы было использовано в выражениях в других элементах формы, макросах или процедурах VBA. Чтобы связать группу с полем из источника данных, выберите переключатель Сохранить значение в поле (Store the value in this field) и выберите имя поля в раскрывающемся списке. Если же нужно оставить группу свободной, должен быть выбран переключатель Сохранить значение для дальнейшего применения (Save the value for later use). Нажмите кнопку Далее (Next).
Далее предлагается выбрать тип элементов управления в группе: флажки, выключатели или переключатели — и вариант оформления группы (один из пяти вариантов, описанных выше). Выберите тот тип и вариант, которые вам понравятся. Обратите внимание, что слева мастер показывает вам образец выбранного вами варианта (см. рис. 9.11).
Рис. 9.11. Пятое диалоговое окно Мастера группы
В последнем диалоговом окне Мастера группы нужно только определить текст надписи, которая будет служить названием группы. В нашем примере требуется ввести название Оплата (рис. 9.12). Теперь нажмите кнопку Готово (Finish), и вы увидите результат работы мастера. У вас должна получиться группа флажков, аналогичная представленной на рис. 9.13.
Дальше вы можете реорганизовать эту группу, как вам нравится: например, вытянуть все флажки в одну строку, перенести надписи под флажки и т. д.
Рис. 9.12. Последнее диалоговое окно Мастера группы
Рис. 9.13. Группа флажков, созданная с помощью Мастера группы
Элемент управления Список
Элемент управления Список (ListBox) используется для представления на экране поля, возможные значения которого ограничиваются списком, причем списком недлинным. Это связано с тем, что такой список занимает много места на экране (рис. 9.14). И хотя можно использовать полосы прокрутки, чтобы посмотреть значения, которые не помещаются в выделенную область, очевидно, что для отображения длинных списков этот элемент управления не подходит.
Список может состоять из одного или нескольких столбцов, однако при выборе элемента списка в связанное с ним поле таблицы передается только одно значение, например в приведенных на рис. 9.14 списках это "КодТипа" (CategoryID) и "КодСотрудника" (EmployeeID), которые в списках даже не отображаются. Внешний вид списка и его содержимое определяются его свойствами, которые можно задать вручную, а можно воспользоваться мастером при размещении списка в форме, который, запросив нужную информацию, определит большую часть свойств автоматически. Создание списка с помощью мастера уже демонстрировалось в первой части книги. Мастер списков очень похож на Мастера, с помощью которого создаётся элемент Поле со списком (см. разд. "Создание и удаление элементов управления" гл. 5). Для того чтобы список правильно работал, нужно корректно определить его важнейшие свойства — это первые восемь свойств на рис. 9.15. Соответственно, если он работает неправильно, именно эти свойства нужно проверять в первую очередь.
Рис. 9.14. Элементы управления Список
Рис. 9.15. Свойства элемента управления Список
Имя (Name) — название данного элемента управления. Нужно дать ему осмысленное название, т. к. оно используется во всех ссылках на этот элемент управления в выражениях, программах и макросах.
Данные (Control Source) — название поля в таблице, которое будет содержать выбранное в списке значение.
Следующие два свойства: Тип источника строк (Row Source Type) и Источник строк — (Row Source) определяют источник данных для элементов списка. В приведенном примере в качестве источника данных используется таблица "Типы" (Categories), поэтому в свойстве Тип источника строк (Row Source Type) выбрано значение Таблица или запрос (Table/Query), а в качестве значения свойства Источник строк (Row Source) указана инструкция SQL, которая выбирает нужные данные из таблицы (поля "КодТипа" и "Катерогия"): SELECT Типы.КодТипа, Типы.Категория FROM Типы; для английской версии Access: SELECT Categories.CategorylD, Categories.CategoryName FROM Categories;
Чтобы элементы в данном списке были отсортированы в алфавитном порядке по полю "Категория", в конец инструкции SQL нужно дабавить предложение: ORDER BY Типы.Категория (ORDER BY Categories.CategoryName).
Замечание
З начением этого свойства может быть также название таблицы или запроса. Список, базирующийся на таблице или сохраненном запросе, будет работать быстрее, чем список, у которого источник строк задан в виде инструкции SQL.
Свойство Число столбцов (Column Count) имеет значение 2, т. е. в списке будет два столбца (выбираются два поля), однако свойство Ширина столбцов (Column Width) определяет ширину первого столбца, равной 0, т. е. он не будет отображаться на экране.
Несмотря на то, что первый столбец является скрытым, его тоже можно присоединить к полю таблицы, как и любой другой столбец списка, чтобы в выбранном элементе списка значение именно из этого столбца (в нашем примере — это значение поля "КодТипа") записывалось в базовую таблицу формы. Чаще всего именно первый слобец списка требуется присоединить к полю источника данных. Номер присоединенного столбца указывается в свойстве Присоединенный столбец (Bound Column).
Свойство Заглавия столбцов (Column Heads) в нашем примере имеет значение Нет (No), поэтому они не будут отображаться в списке.
Кроме рассмотренного, существуют еще три типа источников строк для элемента управления Список (ListBox):
Список значений. Если количество строк в списке невелико и постоянно, можно все значения задать прямо в окне свойств элемента. В этом случае в свойстве Тип источника строк выбирается значение Список значений (Value List), а значения элементов списка перечисляются через точку с запятой без пробелов в свойстве Источник строк. Например:
понедельник;вторник;среда;четверг;пятница;суббота;воскресенье
Если элементы списка содержат пробелы, включите их в кавычки. Чтобы все дни недели отобразились в одном столбце списка, установите значение свойства Число столбцов равным 1, а свойству Ширина столбцов присвойте любое ненулевое значение, например 2, 5см (2, 5cm).
Если нужно вывести два столбца значений, то в свойстве Источник строк в перечислении значений задаются последовательно пары значений, число столбцов устанавливается равным 2, а в свойстве Ширина столбцов задается пара значении, например 2, 5см; Зсм (2, 5cm; 3cm).
Список полей. Этот тип источника строк (значение Список полей (Filed List) свойства Тип источника строк) предназначен для вывода в списке имен полей таблицы или .запроса. Имя таблицы или запроса задается в свойстве Источник строк. Таким способом в списке можно отобразить имена полей таблиц, чтобы предоставить возможность их выбора.
Определяемая пользователем функция. Наконец, источником строк для списка может быть функция, написанная на языке VBA, которая заполнит список значениями. В этом случае свойство Тип источника строк нужно установить, как это показано на рис. 9.16, т. е. указать имя функции без знака равенства (=) и без скобок, а свойство Источник строк должно остаться пустым. Использовать определяемую пользователем функцию полезно, когда требуется заполнить список вычисленными значениями или когда содержимое списка должно динамически меняться в зависимости от содержимого других элементов управления. В первом случае вычисления могут проводиться даже над данными, которых нет в базе (например, когда нужно вычислить определенные даты, начиная с текущей) Второй вариант окажется подходящим, например, если при выборе категории товаров в одном списке, в другом должен отображаться набор товаров именно этой категории.
Рис. 9.16. Использование функции в качестве источника строк
Несколько слов о третьем типе источника строк списка. Эта функция должна иметь такой список аргументов:
Function Имя_функции(fid As Control, id As Variant, _
row As Variant, col As Variant, code As Variant) As Variant
Данная функция вызывается Access каждый раз, когда требуется заполнение списка элементами. Например, это происходит автоматически, когда форма, содержащая список, открывается в первый раз. Вызвать обновление содержимого списка в какой-то другой момент можно программно, с помощью метода обновления содержимого элемента управления Require. Каждый раз при обновлении содержимого списка эта функция вызывается неоднократно: с различным "кодом действия".
Поясним значения ее аргументов и возвращаемого значения.
code — "код действия", определяет, какое действие должна выполнить функция при данном вызове. Это могут быть следующие действия: инициализация списка, его открытие, получение количества строк, количества столбцов, ширины столбцов, самих элементов списка и завершение работы. Всем этим действиям соответствуют зарезервированные константы VBA.
fid — ссылка на элемент управления Список или Поле со списком, который заполняется элементами, с помощью данной функции.
id — уникальный идентификатор заполняемого элемента управления. Этот аргумент полезен, когда такая функция используется для заполнения нескольких элементов управления, чтобы их различить.
row — текущий номер строки для заполняемого элемента списка (начиная с 0).
col — текущий номер столбца для заполняемого элемента списка (начиная с 0).
Возвращаемое значение и его тип зависят от текущего "кода действия", переданного в функцию. Например, для кода acLBGetValue (получить данные) это должно быть строковое значение элемента списка в заданной строке row и столбце col.
Все значения аргументов формируются и передаются в функцию самим Access. Разработчику только остается их обработать.
О создании функции, выполняющей роль источника данных для списка или поля со списком, можно получить подробную информацию в справочной системе Access 2002, в разд. "Справка по Microsoft Access, Программирование на Visual Basic, Справочник по Visual Basic для Microsoft Access, Свойства, Q-R, RowSourceType" (Microsoft Access Help, Programming in Visual Basic, Microsoft Access Visual Basic Reference, Properties, Q-R, RowSourceType Property). Пример использования такой функции можно найти также на компакт-диске, являющемся дополнительным приложением к данной книге, который продается отдельно.
Свойство Присоединенный столбец (Bound Column), определяющее тот столбец списка, значение которого при выборе становится значением элемента управления, может иметь значение 0. В этом случае значением элемента Список (List Box) станет индекс (номер) выбранного элемента в списке.
Элемент управления Список интересен еще и тем, что он позволяет делать множественный выбор в списке, т. е. в нем можно выбрать одновременно несколько элементов, чего не позволяет делать элемент Поле со списком (Combo Box). Такая возможность требуется довольно часто, когда задаются критерии отбора записей. Например, в базе данных объектов недвижимости надо найти интересующие клиента квартиры, а его интересуют квартиры в определенных районах города. Можно, конечно, выбирать в списке по очереди сначала один район, чтобы выбрать все квартиры в данном районе, потом другой и т. д. Однако удобнее в этом случае использовать для указания интересующих районов список, в котором выбираются сразу все интересующие районы, а потом формируется соответствующий запрос к базе данных.
Определить, как пользователь будет выбирать значения из списка, можно с помощью свойства Несвязное выделение (Multi Select). Его можно найти на вкладке Другие (Other) окна свойств. По умолчанию это свойство имеет значение Отсутствует (None). В этом случае разрешается ныбор только одного элемента из списка. Но это свойство может иметь значения Простой (Simple) и Со связным выбором (Extended). В первом случае разрешается множественный выбор просто щелчком мыши по нужным элементам, а во втором список работает так, как почти все списки в Windows, т. е. можно использовать клавиши и для выделения смежных и несмежных элементов. Результаты выбора хранятся в специальном массиве и могут быть использованы программами VBA.
Элемент управления Поле со списком
Элемент управления Поле со списком (ComboBox) во многом аналогичен элементу управления Список (ListBox). Применяется он в формах для той же самой цели, т. е. когда требуется, чтобы значение поля в таблице не вводилось вручную, а выбиралось из известного списка значений. Как правило, этими списками являются различного рода справочники. Отличий между этими типами элементов управления три:
Поле со списком позволяет не только выбирать значение из списка, но и вводить его прямо в поле ввода;
Поле со списком не накладывает таких ограничений на длину списка, как Список, т. к. в нем отображается только текущее значение, а остальные значения выводятся, когда пользователь щелкает мышью по стрелке вниз с правой стороны поля. Соответственно, элемент Поле со списком занимает на форме меньше места, чем элемент Список;
Поле со списком позволяет выбрать только один элемент из списка.
Основные свойства для элемента управления Поле со списком (Combo Box) такие же, как и у элемента управления Список (List Box), однако есть дополнительные свойства, которые определяют формат вывода данных в текстовую часть поля: Формат поля (Format), Число десятичных знаков (Decimal Places), Маска ввода (Input Mask) (рис. 9.17).
Еще два дополнительных свойства определяют особенности работы поля со списком:
Ограничиться списком (Limit To List). Это свойство может иметь значение Да (Yes), и тогда значение, которое вводится в поле, должно обязательно совпадать с одним из элементов списка, или Нет (No), и тогда список может дополняться значениями, вводимыми в текстовую часть поля со списком. Если значение этого поля Да, а вводимое значение не совпадает ни с одним из элементов списка, Access выдает сообщение об ошибке. Все ситуации, возникающие при вводе нового значения в поле, могут быть обработаны с помощью макроса или процедуры VBA, например, чтобы расширить список значений (см. также разд. "Применение макросов" гл. 11).
Автоподстановка (Auto Expand). Это свойство обычно имеет значение Да, что обеспечивает удобный выбор значения из списка. Так как списки в данном случае могут быть длинными, например список клиентов, прокручивать их в поисках нужного значения неудобно. Однако можно просто ввести необходимое значение в текстовую часть поля. При этом Access автоматически подставит в поле то значение из списка, у которого первые буквы совпадают с введенными.
Рис. 9.17. Свойства элемента Поле со списком
Обычно поле со списком используется для.тех полей базовой таблицы, которые служат внешними ключами, т. е. содержат значения, соответствующие первичным ключам записей в какой-либо другой таблице. В таблице такие поля обычно определяют как поля подстановки, т. е. при отображении этих полей отображается не то значение, которое содержится в данном поле, а соответствующее значение из связанной таблицы (ведь ключом часто является ничем не примечательный код) (см. также разд. "Создание таблиц"гл. 2). В этом случае Мастер форм при создании формы автоматически создаст для таких полей поля со списком и задаст их свойства.
Совет
Е сли вы в режиме Конструктора хотите создать элемент управления Поле со списком (Combo Box) для поля таблицы, являющегося полем подстановки, лучше делать это путем перетаскивания поля из окна Список полей (Field List), т. к. в этом случае все свойства элемента будут заданы автоматически.
Элемент управления Кнопка
Элемент управления Кнопка (Command Button) является очень важным элементом формы, поскольку именно с кнопками связаны различные действия, выполняемые пользователем в приложении (сохранение введенных данных, вызов другой формы, вывод на печать документа и т. д.). Обычно кнопка выбирается, когда пользователь щелкает по ней мышью. Однако можно выбрать (нажать, т. к. визуально это именно так и выглядит) кнопку, используя только клавиатуру. Для этого нужно поместить на нее фокус, т. е. сделать активной, нажимая клавишу <Таb>, а затем нажать клавиши <Пробел> или . Для этой же цели можно назначить кнопке специальную комбинацию клавиш.
Создать кнопку намного удобнее с помощью Мастера кнопок, поскольку он выполнит за вас большую работу и даже напишет программу, которая будет выполнять действия, для которых данная кнопка предназначена. Например, рассмотрим процесс создания кнопки, которая будет открывать новую форму:
Создайте в режиме Конструктора пустую форму.
Выберите на панели элементов элемент управления Кнопка (CommandButton) (кнопка Мастера (Control Wizards) на панели элементов должна быть нажата).
В появившемся диалоговом окне вы увидите два списка: левый список содержит категории действий, а правый — сами действия. Выберите в списке Категории (Categories) значение Работа с формой (Form Operations) (рис. 9.18).
Рис. 9.18. Первое диалоговое окно Мастера кнопок
В поле Действия при этом появится список действий, относящихся к этой категории. Выберите значение Открыть форму (Open Form) и нажмите кнопку Далее (Next).
В следующем окне мастера требуется выбрать форму, которую нужно открывать с помощью кнопки. Выберите одну из форм, например "Заказы" (Orders) (рис. 9.19).
В третьем диалоговом окне Мастера кнопок нужно выбрать, все ли записи будут отображаться в открываемой форме, или отобрать записи, связанные с записями в данной форме (рис. 9.20). Поскольку наша форма не содержит пока ни одного поля, мы не сможем задать критерии отбора. Соответственно, следует выбрать второй переключатель: Открыть форму и показать все записи (Open the form and show all the records), после чего нажать кнопку Далее (Next).
В следующем окне предлагается выбрать рисунок, который вы хотите поместить на кнопку, или задать надпись (рис. 9.21). Чтобы увидеть список всех готовых рисунков, необходимо установить флажок Показать все рисунки (Show All Pictures). Чтобы отобразить надпись на кнопке, выберите переключатель Текст (Text) и введите текст надписи, например совпадающий с именем формы: "Заказы". Нажмите кнопку Далее (Next).
Рис. 9.19. Второе диалоговое окно Мастера кнопок
Рис. 9.20. Третье диалоговое окно Мастера кнопок
В последнем окне Мастера кнопок требуется ввести имя кнопки. Оно может не совпадать с надписью на кнопке, но должно быть коротким и понятным. В'дан-ном случае можно оставить тот же текст, что и в надписи: Заказы (рис. 9.22). Нажмите кнопку Готово (Finish).
Рис. 9.21. Четвертое диалоговое окно Мастера кнопок
Рис. 9.22. Пятое диалоговое окно Мастера кнопок
На форме появилась кнопка. Если вы потом решите все-таки поместить на кнопку какую-нибудь картинку, это можно сделать, установив свойство Рисунок (Picture), для чего вы можете воспользоваться Построителем, который предлагает либо выбрать одну из стандартных картинок, либо использовать графический файл, например созданный в графическом редакторе Paint в Windows (рис. 9.23).
Можно назначить элементу управления Кнопка (Command Button) комбинацию клавиш. Это бывает оправдано, например, если пользователь работает с клавиатурой и ему неудобно для нажатия кнопки переключаться на мышь, а также, если в форме много элементов и для активизации кнопки приходится много раз нажимать клавишу . Чтобы назначить кнопке комбинацию клавиш, в свойстве Подпись (Caption), которое определяет надпись на кнопке, выбирают одну букву (она необязательно должна быть первой) и добавляют перед ней знак амперсанта (&) (рис. 9.24). Выбранная буква в надписи на кнопке будет подчеркнута. Тогда для того, чтобы выбрать кнопку, достаточно просто нажать комбинацию клавиш <Аlt>+<выбранная буква>, в нашем примере — это +<3>.
Рис. 9.23. Размещение рисунка на кнопке
Рис. 9.24. Назначение кнопке комбинации клавиш
Для любой формы можно создать две специальные кнопки:
Одна будет "нажиматься" всякий раз, когда пользователь нажмет клавишу и независимо от того, на каком элементе формы установлен фокус. Такая кнопка определяет действие по умолчанию, и для нее свойству По умолчанию (Default) присваивают значение Да (Yes).
Вторая кнопка "нажимается" всякий раз, когда пользователь нажмет клавишу , и опять независимо от того, на каком элементе формы установлен фокус.
Такая кнопка играет роль отмены по умолчанию. Для нее должно быть присвоено значение Да (Yes) свойству Отмена (Cancel).
Элементы управления Свободная рамка объекта и Присоединенная рамка объекта
Элементы управления Свободная рамка объекта (Unbound Object Frame) и Присоединенная рамка объекта (Bound Object Frame) используются для того, чтобы вставить в форму объекты, созданные в других приложениях, например документ Word или таблицу Excel или рисунок. Эти элементы различаются тем, будут ли объекты, вставленные в эти рамки, храниться в таблицах Access или не будут.
Свободная рамка объекта (Unbound Object Frame) содержит объект, который хранится либо в самой форме, либо во внешнем файле и независимо от того, какая запись отображается в форме, будет отображаться один и тот же объект. Этот объект может быть изменен прямо из формы с помощью того приложения, в котором он был создан.
Присоединенная рамка объекта (Bound Object Frame) содержит объект, который хранится в таблице, в поле, имеющем тип Поле объекта OLE (OLE Object). Поэтому присоединенная рамка объекта имеет в качестве источника данных поле в базовой таблице. Типичный пример такого элемента управления — фотографии людей, изделий и т. д.
Подробно создание и использование этих элементов управления рассмотрено в гл. 15.
Элемент управления Рисунок
Элемент управления Рисунок (Image) очень похож по своему назначению и свойствам на элемент Свободная рамка объекта. Он предназначен для вставки в форму графических файлов, но требует меньше системных ресурсов и работает быстрее, чем Свободная рамка объекта. Форматы графических файлов, которые поддерживаются Access, разнообразны — это растровые рисунки, метафайлы, значки и др.
Подробно создание и использование этого элемента управления рассмотрено в гл. 15.
Элемент управления Разрыв страницы
Элемент управления Разрыв страницы (Page Break) используется в многостраничных формах для того, чтобы определить место конца одной и начала новой страницы.
Рис. 9.25. Свойства элемента Разрыв страницы
На форме этот элемент отображается в виде пяти горизонтально расположенных точек и имеет всего четыре свойства: Имя (Name), координаты относительно верхнего левого угла формы — От левого края (Left) и От верхнего края (Тор) и Дополнительные сведения (Tag) (рис. 9.25).
Для переключения между страницами в такой форме используются клавиши и (см. также разд. "Создание многостраничных форм"в данной главе).
Элемент управления Набор вкладок
Элемент управления Набор вкладок (Tab Control) также используется для создания многостраничных форм. Он позволяет придать формам такой же вид, как у диалоговых окон свойств в Windows. В этом элементе может быть от одной до нескольких вкладок. Переключение между вкладками формы выполняется щелчком кнопкой мыши по ярлыку вкладки. Вкладки могут иметь два варианта оформления: ярлыки и кнопки (рис. 9.26).
В таких формах Access на ярлыках могут размещаться не только надписи, но и рисунки, а также надписи и рисунки вместе. Если требуется отобразить большое количество вкладок, можно их разместить в несколько рядов. О создании форм, содержащих несколько вкладок, рассказано в разд. "Создание многостраничных форм" данной главы.
Рис. 9.26. Элемент управления Набор вкладок
Элемент управления Подчиненная форма/отчет
Элемент управления Подчиненная форма/отчет (Subform/Subreport) используется для отображения в форме другой формы (см. также разд. "Создание многотабличных форм " в этой же главе).
Элементы управления Линиям Прямоугольник
Элементы управления Линия (Line) и Прямоугольник (Rectangle) используются для оформления внешнего вида форм, чаще всего для выделения группы логически связанных элементов управления.
Для управления цветом и стилем линии, а также для окантовки прямоугольника используются свойства Цвет границы (Border Color), Тип границы (Border Style), Ширина границы (Border Width) и Оформление (Special Effect). Для прямоугольника можно также задать свойства Тип фона (Back Style) и Цвет фона (Back Color).
Существует восемь вариантов типа линии и границ прямоугольника: Отсутствует, Сплошная, Штриховая, Пунктирная, Точечная, Редкоточечная, Штрих-пунктирная и Штрих-точечная (Transparent, Solid, Dashes, Short Dashes, Dots, Sparse Dots, Dash Dot, Dash Dot Dot соответственно). Для линии и границ прямоугольника определено шесть вариантов оформления: обычное, приподнятое, утопленное, вдавленное, с тенью, рельефное (Flat, Raised, Sunken, Etched, Shadowed, Chiseled соответственно) (это больше, чем было доступно в предыдущей версии — Access 2000).
Цвет границы и цвет фона задаются с помощью Построителя, который позволяет выбрать один из 64 предложенных цветов или определить собственный цвет.
На рис. 9.27 представлены различные варианты оформления прямоугольников и линий. Тип фона для прямоугольника имеет два значения:
прозрачный, при котором цвет фона прямоугольника совпадает с цветом фона раздела формы, и все элементы, лежащие под ним, видны;
нормальный, при котором можно задать цвет фона, но тогда элементы управления, которые выделяет этот прямоугольник, должны быть размещены поверх него (то есть на переднем плане — командой Формат, На передний план (Format, Bring to Front)).
Рис. 9.27. Различные варианты оформления прямоугольника и линии
Преобразование одного элемента управления в другой
Иногда в процессе разработки формы требуется изменить тип элемента управления для отображения какого-либо поля. Такая ситуация может возникнуть, например, из-за ошибки в начальном выборе типа элемента. Чаще всего требуется преобразовать текстовое поле в поле со списком или изменить тип элемента выбора, заменив флажок переключателем или выключатель переключателем. В режиме Конструктора форм можно легко это сделать:
Выделите на форме элемент управления, тип которого нужно изменить, щелкнув по нему правой кнопкой мыши.
В появившемся контекстном меню выберите команду Преобразовать элемент в (Change To).
Справа раскроется меню, в котором будут доступны только те типы элементов, в которые может быть преобразован выбранный элемент управления (рис. 9.28). Например, для текстового поля это может быть поле со списком, список или надпись.
Рис. 9.28. Преобразование одного элемента управления в другой
Выберите в меню нужный тип элемента управления. Элемент будет немедленно преобразован.
Замечание
В место контекстного меню для выполнения операции можно использовать команду меню Формат, Преобразовать элемент в (Format, Change To).
Создание многотабличных форм
К многотабличным формам относят формы, построенные на основе запроса, объединяющего несколько таблиц, а также формы с внедренными в них другими формами. Создание многотабличных форм на основе запроса рассматривалось ранее (см. также разд. "Создание форм для ввода данных" гл. 5).
В данном разделе мы остановимся на создании сложных форм, включающих подчиненные формы.
Подчиненной формой называется форма, которая встраивается в другую форму. При этом форма, которая включает подчиненную форму, называется основной ('или главной) формой.
Обычно такие формы применяются для отображения данных из связанных таблиц, например категории товаров и товары, организации и контактные лица в этих организациях и т. д. Однако это бывает не всегда. Иногда главная форма содержит свободные элементы управления и различные кнопки, которые влияют на представление данных в подчиненной форме. Типичным примером такой формы является форма для отбора записей в таблице. Основная форма содержит поля, в которых задаются критерии отбора и кнопки Фильтр или Поиск и Отмена фильтра или Показать все (рис. 9.29).
Рис. 9.29. Пример формы, содержащей подчиненную форму
Применение встроенных подчиненных форм обеспечивает более компактное представление на экране данных из нескольких таблиц, чем использование разных форм для каждой таблицы.
Создавать такие формы можно разными способами. Рассмотрим сначала способы создания главной и подчиненной форм для двух связанных таблиц.
№44
При открытии конструктора форм на экране появляется панель элементов (см. рис. 18.3). Если ее нет, щелкните на кнопке Панель элементов панели инструментов. С помощью кнопок панели элементов в форму можно добавлять различные объекты, типы которых перечислены в табл. 18.1. Элементы управления форм и отчетов сходны между собой, поэтому такая же панель элементов имеется и в конструкторе отчетов, о котором мы поговорим на этом занятии позже, а все операции, рассматриваемые в этом и в следующем упражнении, одинаково применимы как к формам, так и к отчетам
Выравнивание нескольких элементов управления в форме или отчете
Откройте форму или отчет в режиме конструктора (Конструктор. Представление, в котором отображается структура следующих объектов базы данных: таблицы, запросы, формы, отчеты и макросы. В режиме конструктора можно создавать новые объекты базы данных или изменять структуру существующих.).
Чтобы выделить выравниваемые элементы управления (Элемент управления. Объект графического интерфейса пользователя (такой как поле, флажок, полоса прокрутки или кнопка), позволяющий пользователям управлять приложением. Элементы управления используются для отображения данных или параметров, для выполнения действий, либо для упрощения работы с интерфейсом пользователя.), нажмите клавишу SHIFT и, удерживая ее, щелкните нужные элементы управления или нажмите кнопку Выбор объектов
на панели элементов, щелкните нужное место и перетащите прямоугольник по элементам управления.
Выбирайте только элементы управления, расположенные в одной строке или одном столбце.
Выберите в меню Формат команду Выровнять и одну из следующих подкоманд:
по левому краю — выравнивание левых границ элементов управления по левой границе крайнего левого элемента;
по правому краю — выравнивание правых границ элементов управления по правой границе крайнего правого элемента;
по верхнему краю — выравнивание верхних границ элементов управления по верхней границе самого верхнего элемента;
по нижнему краю — выравнивание нижних границ элементов управления по нижней границе самого нижнего элемента.
Примечание. Если после выравнивания некоторые выбранные элементы управления должны наложиться друг на друга, то эти элементы управления размещаются рядом, граница к границе, без перекрытия.
Выравнивание
нескольких элементов управления на
странице доступа к данным
Способ выравнивания элементов управления на странице доступа к данным зависит от того, какая версия Microsoft Internet Explorer — 5.5 или 5 — установлена.
Откройте страницу доступа к данным в режиме конструктора (Конструктор. Представление, в котором отображается структура следующих объектов базы данных: таблицы, запросы, формы, отчеты и макросы. В режиме конструктора можно создавать новые объекты базы данных или изменять структуру существующих.) и выполните одно из следующих действий.
Если установлена версия Internet Explorer 5.5
Выделите нужные элементы управления (Элемент управления. Объект графического интерфейса пользователя (такой как поле, флажок, полоса прокрутки или кнопка), позволяющий пользователям управлять приложением. Элементы управления используются для отображения данных или параметров, для выполнения действий, либо для упрощения работы с интерфейсом пользователя.), нажав и удерживая клавишу SHIFT и щелкнув каждый элемент.
Убедитесь, что элемент управления, по которому будут выравниваться другие элементы управления, является последним выделенным элементом, а его маркеры изменения размеров имеют белый цвет. Этот элемент управления является основным выбранным объектом.
У
основного выделенного объекта маркеры
изменения размеров имеют белый цвет.
Выберите в меню Формат команду Выровнять и одну из следующих подкоманд:
по левому краю — выравнивание левых границ элементов управления по левой границе основного выделенного объекта;
по правому краю — выравнивание правых границ элементов управления по правой границе основного выделенного объекта;
по верхнему краю — выравнивание верхних границ элементов управления по верхней границе основного выделенного объекта;
по нижнему краю — выравнивание нижних границ элементов управления по нижней границе основного выделенного объекта;
по середине — выравнивание элементов управления с горизонтальной центровкой относительно основного выделенного объекта;
по центру — выравнивание элементов управления с вертикальной центровкой относительно основного выделенного объекта.
Если установлена версия Internet Explorer 5
В меню Формат выберите команду Выравнивание и изменение размера, чтобы вывести панель инструментов Выравнивание и изменение размера.
Кнопки Выровнять по левому краю, Выровнять по правому краю, Выровнять по верхнему краю и Выровнять по нижнему краю
Кнопки
Размер
по высоте,
Размер
по ширине
и Размер
по высоте/ширине
Убедитесь, что элемент управления (Элемент управления. Объект графического интерфейса пользователя (такой как поле, флажок, полоса прокрутки или кнопка), позволяющий пользователям управлять приложением. Элементы управления используются для отображения данных или параметров, для выполнения действий, либо для упрощения работы с интерфейсом пользователя.), по которому будет выполняться выравнивание, выделен.
Выполните одно из следующих действий.
Чтобы выровнять один элемент управления, щелкните нужную кнопку на панели инструментов Выравнивание и изменение размера, а затем щелкните элемент управления, который необходимо выровнять с выделенным элементом управления.
Чтобы выровнять несколько элементов управления, дважды щелкните нужную кнопку на панели инструментов Выравнивание и изменение размера, чтобы закрепить ее, а затем щелкните элементы управления, которые необходимо выровнять с выделенным элементом управления.
Чтобы освободить кнопку, щелкните эту или другую кнопку на панели инструментов Выравнивание и изменение размера или нажмите клавишу ESC.
Выравнивание элементов управления с помощью сетки