Access 2007
.pdf
Примечание
Можно задать значение по умолчанию для одного и того же поля на уровне таблицы и на уровне формы. Если вы сделали это, значение по умолчанию формы перекрывает значение, заданное в таблице.
Выполнение вычислений в выражениях
Выражение — это формула, обрабатывающая некоторую информацию, например числа, даты или текст, и отображающая конечный результат (рис. 13.13). Часто выражения в вычислениях используют значения полей. Раньше вы применяли выражения для обработки чисел в запросах (см. главу 7) и отчетах (см. главу 10), а теперь вы заставите их работать в формах.
Рис. 13.13. В данной форме выражение
= "You have " & [DueDate]-Date () & " days to finish" вычисляет число дней между текущей датой и датой окончания проекта и помещает его в законченное предложение. Вы увидите появление этой информации, как только введете дату окончания и перейдете в другое поле. (Это требование можно обойти и заставить поля обновляться во время ввода с помощью небольшого фрагмента VBA-кода, запускающего повторное вычисление.)
Для создания выражения выполните следующие действия.
1.Добавьте на форму элемент управления Поле (из группы ленты Инструменты
конструктора форм | Конструктор → Элементы управления).
Следует использовать именно Поле, т. к. оно может отображать переменные значения, такие как выражения. Подпись может показывать только текстовые константы, поэтому она бесполезна.
2.В Окне свойств выберите вкладку Данные (Data). Поместите выражение в параметр Данные (Control Source).
Помните о том, что выражения начинаются со знака равенства. Выражение =Price*l. 15 вычисляет цену товара с учетом налога, умножая значение в поле Price на 1.15.
451
3.Можно задать в свойстве Доступ (Enabled) значение Нет для усиления запрета на изменение этого значения.
Когда создается элемент управления с применением выражения, программа Access не разрешает редактировать вычисляемое значение. Это все равно, что свойству Блокировка (Locked) присвоить значение Да. Но некоторые пользователи все равно могут делать попытки изменить эту величину. Если по-вашему такое развитие сценария может создавать проблемы, задайте в свойстве Доступ значение Нет, чтобы элемент управления отображался как недоступный и никто не мог перейти в него с помощью клавиши <Таb>. Эта установка также означает невозможность копирования значения в поле ввода.
4.При желании примените форматирование.
Вы можете настроить шрифт и цвет с помощью группы ленты Инструменты конструктора форм | Конструктор → Шрифт (Form Design Tools | Design → Font). Для настройки отображения программой Access числовых значений перейдите в Режим макета и используйте группу ленты Работа с макетами форм | Формат → Форматирование (Form Layout Tools | Formatting → Formatting).
Примечание
Для удаления рамки вокруг поля ввода (так оно больше напоминает подпись) выделите его в Конструкторе, выберите на ленте кнопку Инструменты конструктора форм | Конструктор → Элементы управления → Тип линии (Form Design Tools | Design → Controls → Line Type) и укажите первый элемент списка (он пустой, что означает "отсутствует").
Компоновка с применением элемента управления Вкладка
Один из невоспетых героев мира элементов управления — элемент Вкладка, позволяющий представить содержимое большого объема на ограниченном пространстве. Хитрость этого элемента управления кроется в способе размещения такого содержимого на отдельных страницах. В определенный момент времени можно видеть одну страницу, а выбирается она щелчком кнопкой мыши соответствующего заголовка вкладки (рис. 13.14).
Элемент управления Вкладка не идеален. Его главный недостаток заключается в необходимости дополнительных щелчков кнопкой мыши для перехода с одной вкладки на другую. По этой причине не очень удобно пользоваться вкладками на формах, предназначенных для создания новых записей. В этом случае лучше упростить процесс создания записи и расположить все элементы управления на одной странице, так чтобы вы могли быстро заполнить их. Вкладки полезнее всего на формах, разработанных преимущественно для редактирования и просмотра данных. Если такие данные можно разделить на логические группы и если редактирование часто связано с корректировкой одной из групп, элемент управления Вкладка — удачный выбор.
Для применения элемента управления Вкладка выполните следующие действия.
1.В группе ленты Инструменты конструктора форм | Конструктор →• Элементы управления щелкните кнопкой мыши пиктограмму Вкладка.
Когда Вкладка появится на экране, вам, вероятно, захочется переместить ее или изменить ее размеры для наилучшего соответствия форме.
2.Добавьте все нужные страницы Вкладки.
Любой новый элемент управления Вкладка сначала отображается с двумя страницами. Перейти со страницы на страницу можно щелчком кнопки мыши по соответствующему заголовку.
452
Для создания новой страницы щелкните правой кнопкой мыши любую страницу (но не заголовок вкладки) и выберите Вставить вкладку (Add Page). Для удаления существующей страницы щелкните ее правой кнопкой мыши и выберите команду Удалить вкладку (Delete Page).
Рис. 13.14. Имеет смысл поместить адресную информацию клиента на отдельную вкладку, поскольку все эти поля образуют группу логически связанных данных
3. Задайте подходящие имена вкладок.
Имена, которые первоначально присваивает вкладкам программа Access, малоинформативны, например, Вкладка19 и Вкладка20. Для изменения заголовка или имени вкладки выделите страницу и измените параметр Подпись (Caption) в Окне свойств. У страницы, отображающей адресные поля клиента, мог бы быть заголовок "Address Information" (адресные данные).
Для изменения порядка следования страниц щелкните правой кнопкой мыши элемент управления Вкладка и выберите команду Последовательность вкладок (Page Order). Программа Access откроет диалоговое окно Порядок страниц со списком вкладок. Для изменения местоположения вкладки выделите ее и щелкните мышью кнопку Вверх или
Вниз.
Примечание
Если вы создаете больше страниц, чем может уместиться в вашем элементе управления Вкладка, программа Access добавляет странную полосу прокрутки в правый верхний угол элемента, которая позволяет переходить к нужным вкладкам. Для того чтобы избежать этого
453
неудобства, измените размер элемента управления Вкладка, сделав его достаточно широким для отображения всех страниц или не применяйте длинные заголовки вкладок.
4.Поместите элементы управления на разные страницы.
Вы можете перетащить мышью элементы управления с остальной части формы на вкладку или добавить новые с помощью ленты. В любом случае не забудьте выделить вкладку, которая нужна в первую очередь, и затем добавьте необходимые элементы управления. Даже в Конструкторе одновременно отображается только одна страница элемента управления Вкладка.
Подсказка
Если элементы управления включены в макет, их невозможно переместить на вкладку. Вместо этого выделите их, щелкните правой кнопкой мыши выделение и выберите команду Вырезать. Затем щелкните правой кнопкой мыши на странице вкладки, там где хотите разместить элементы, и выберите команду Вставить.
Переходы по ссылкам
Ссылки — менее многофункциональные, чем кнопки. В то время как кнопки могут выполнить почти любое действие, ссылки ограничиваются выполнением только двух задач:
■запуском вашего стандартного Web-обозревателя и переходом на конкретный сайт;
■открытием файла (например, документа Word) в программе, которой он создан. Для создания ссылки выполните следующие действия.
1.В группе ленты Инструменты конструктора форм | Конструктор -» Элементы управления щелкните кнопкой мыши пиктограмму Вставить гиперссылку.
На экране появится диалоговое окно Вставка гиперссылки (Insert Hyperlink) (рис. 13.15) при условии, что у вас включены мастера создания элементов управления (см. разд. "Вставка элементов управления в форму" ранее в этой главе). С помощью этого окна вы сможете задать текст для ссылки и пункт назначения, куда ссылка перенесет пользователей, когда они щелкнут ее кнопкой мыши.
2.В левой части окна щелкните кнопкой мыши вариант файлом, веб-страницей (Existing File or Web Page).
Можно также использовать вариант объектом в базе данных (Object in This Database) для создания ссылки, открывающей другой объект БД, например, форму. Но для этой задачи больше подходят кнопки.
Вариант электронной почтой (E-mail Address) выбирается для создания ссылки на адрес электронной почты. При щелчке кнопкой мыши такой ссылки запускается ваша текущая программа работы с электронной почтой и создается новое сообщение с предоставленным вами начальным текстом.
3.В поле ввода Текст (Text to display) введите любой текст, который будет отображать ссылка.
Обычно такой текст включает адрес реального Web-сайта (например, http://www.mycompany.com) или информационное сообщение (например, "Щелкните здесь для перехода на Web-сайт моей компании").
454
Рис. 13.15. Кто-то собрался создать новую гиперссылку. Она будет выводиться с текстом "Щелкните здесь для перехода на Web-сайт компании" (который вы, конечно, можете редактировать, чтобы сообщить то, что хотите)
4.Если хотите задать пользовательскую всплывающую подсказку для данной гиперссылки, щелкните мышью кнопку Подсказка (ScreenTip). Введите свое сообщение и щелкните мышью кнопку ОК.
Как вы уже наверняка знаете, подсказка — маленькое окно желтого цвета, содержащее сообщение и открывающееся над гиперссылкой, когда указатель вашей мыши перемещается поверх ссылки. Если не задавать собственную подсказку, программа Access выведет полный путь или URL (Web-адрес).
5.Если вы хотите добавить ссылку на документ, найдите соответствующий файл с помощью просмотра и выделите его. Если вы хотите вставить ссылку на Webстраницу,введите URL в поле Адрес (Address).
Если добавляется ссылка на документ, Access задает в поле Адрес полный путь к файлу, например, C:\MyDocuments\Resume.doc. Можно ввести этот путь самостоятельно, а если ваша сеть поддерживает, то и путь UNC (Universal Naming Convention, соглашение об универсальных именах), который ссылается на файл, хранящийся на другом компьютере
спомощью указания имени компьютера, например, \\SalesComputer\Documents\CompanyPolicy.doc.
Примечание
Вы можете ссылаться на файлы на вашем компьютере или на сетевых дисках. Только помните о том, что при щелчке ссылки кнопкой мыши Access ищет именно в том месте, которое вы задали. Если файл перенесен в другое место или вы открыли БД на другом компьютере, программа Access не сможет найти файл, указанный в ссылке.
6. Щелкните мышью кнопку ОК для вставки гиперссылки.
На форме появится новая гиперссылка. Затем можно переместить ее в любое место формы.
455
Для применения гиперссылки просто щелкните ее кнопкой мыши. Вы увидите, что как только вы проведете указателем поверх гиперссылки, он изменит свой вид на руку с поднятым указательным пальцем.
Переходы с помощью списков
В формах программы Access существуют два вида элементов управления со списками: Список (List box) и Поле со списком (Combo box). Разница в том, что Список отображает несколько элементов одновременно (в зависимости от величины списка, заданной вами), Поле со списком выводит одно значение — для того чтобы увидеть список, необходимо щелкнуть мышью направленную вниз стрелку.
Программа Access предоставляет два варианта применения элементов управления со списками:
■ их можно использовать для редактирования значения поля. Access автоматически создает
Поле со списком, если для поля определена подстановка (как описано в разд. "Поиск в связанных таблицах" главы 5). Это Поле со списком действует так же, как список подстановки на листе данных;
их можно применять для перехода к нужной вам записи. В этом случае список отображает значение поля для каждой записи из таблицы. Когда выбирается одно из значений, программа Access переходит к соответствующей записи.
Применение списков для перехода — по-настоящему мощное средство программы Access. Если вы часто ищите запись с помощью одного и того же условия отбора (например, если вы ищите товары по названию или сотрудников по номеру социального обеспечения), этот метод гораздо эффективнее кнопок перехода или фильтрации записей.
Далее описаны действия, необходимые для создания списка, обеспечивающего переходы между записями.
1.Убедитесь в том, что средство Использовать мастера для элементов управления (Control Wizard) включено.
Если вы не уверены в этом, проверьте, подсвечена ли кнопка ленты Инструменты конструктора форм ) Конструктор → Элементы управления → Использовать мастера (Form Design Tools | Design → Controls → Use Control Wizards).
2.В группе ленты Инструменты конструктора форм | Конструктор → Элементы управления щелкните кнопкой мыши пиктограмму Список или Поле со списком.
Оба эти элемента управления действуют одинаково, когда применяются для перехода между записями. Единственное отличие — Список требует больше места. Если вы решили использовать этот элемент, поместите его в боковую часть формы. Пользователи чаще применяют элемент управления Поле со списком (рис. 13.16).
3.Нарисуйте элемент управления на форме.
Как только вы закончите, на экране появится мастер, чтобы помочь вам настроить список (рис. 13.17). Этот процесс аналогичен мастеру подстановки, который применялся для установки связи таблиц.
4.Выберите переключатель Поиск записи в форме и щелкните мышью кнопку Далее. Вы узнаете о других вариантах в следующем разделе.
456
Рис. 13.16. На этой форме список позволяет перейти к нужному товару одним щелчком мыши. Обратите внимание на то, что этот список не заменяет собой элемент управления Поле для ProductName. Список может применяться для поиска нужной записи, а поле — для изменения названия товара. Конечно, если в данной форме названия товаров никогда не меняются, нет необходимости включать в нее поле
ProductName
Рис. 13.17. Когда создается поле со списком (или список), мастер создания списка позволяет вам выбрать, применять его для редактирования или для переходов
457
5.Выберите доле, которое хотите использовать для просмотра, и щелкните мышью кнопку
Далее.
В примере рис. 13.16 используется поле ProductName. Технически список всегда функционирует одинаково — он находит элементы на основе значения уникального первичного ключа (см. разд. "Первичный ключ "главы 2). У создаваемого вами списка на самом деле два столбца. В первом хранятся значения первичного ключа, а во втором отображаются значения выбранного вами поля. Но на форме вы не увидите первичного ключа, потому что он скрыт.
Примечание
Этот метод не будет действовать, как следует, если в выбранном поле разрешены дублирующиеся значения. Если создается список, использующий поле LastName, вы можете обнаружить несколько значений MacDonald. В этом случае рассмотрите возможность добавления нескольких полей в список просмотра (например, поле LastName и поле FirstName).
6.Оставьте установленным флажок Скрыть ключевой столбец (рекомендуется) и
щелкните мышью кнопку Далее для продолжения.
Если вы не планируете отображать столбец с первичным ключом, — обычно это так — просто щелкните мышью кнопку Далее, чтобы проскочить это окно.
7.Введите название списка.
Оно появится в подписи, расположенной рядом с элементом управления Список. Можно использовать что-то вроде "Щелкните кнопкой мыши товар, который хотите просмотреть". Позже подпись можно будет переместить или удалить.
8.Щелкните мышью кнопку Готово для создания списка.
Теперь испытайте список. Щелкните правой кнопкой мыши заголовок вкладки и выберите Режим формы для перехода к форме. Затем выберите элемент из списка для перехода непосредственно к соответствующей записи.
Примечание
У переходов на базе списка есть одна особенность. Если изменить значение, которое выводится в списке, программа Access не обновит список до тех пор, пока вы не перейдете к другой записи. В предыдущем примере эта особенность приведет к тому, что если вы изменяете название товара, его старое название останется в списке до тех пор, пока вы не пойдете дальше.
Выполнение действий с помощью кнопок
Последний элемент управления, который будет рассматриваться, обладает максимальными функциональными возможностями. Кнопки позволяют выполнить почти любое действие, например, открыть новую форму, напечатать отчет или разделаться с прошлогодними налогами. (Конечно, одни задачи труднее других, но если проявить волю и разобраться с кодом на Visual Basic, возможно почти все.)
Когда на форму вставляется элемент управления Кнопка, Access запускает полезный мастер создания кнопки, в котором можно выбрать нужное действие из списка заранее подготовленных вариантов. Затем мастер поможет создать макрос (см. главу 15), который сделает все, что потребуется.
458
Варианты в мастере Создание кнопок предоставляют подробное меню возможностей. Некоторые ярые поклонники программы Access считают, что могут сделать все, что захотят, используя только кнопки и мастер. Другим иногда требуется сделать нечто более оригинальное, в этом случае они вынуждены создавать собственные макросы или писать пользовательский код (задачи, которыми вы будете заниматься в части V).
Следующие действия проведут вас через процесс создания кнопки с помощью мастера.
1.В группе ленты Инструменты конструктора форм | Конструктор → Элементы управления щелкните кнопкой мыши пиктограмму Кнопка.
2.Нарисуйте элемент управления Кнопка на форме.
Когда вы закончите, запустится мастер Создание кнопки и сразу включится в работу. Прежде всего, он попросит выбрать действие, которое будет выполняться (рис. 13.18).
Рис. 13.18. Вы можете заставить форму выполнять шесть категорий действий. После выбора категории (в списке слева) вы увидите список действий в выбранной категории (в списке справа)
3.Выберите действие, которое хотите выполнить.
Большинство действий интуитивно понятно. Далее приведены некоторые самые интересные.
oВ категории Переходы по записям можно применять команды, такие как Первая запись, Последняя запись, Следующая запись, Предыдущая запись, для создания собственных кнопок перехода. Если вы делаете именно это, задайте в свойстве формы Кнопки перехода значение Нет для скрытия стандартных кнопок.
oВ категории Обработка записей можно создать новую пустую запись (Добавить запись) или обработать текущую запись (например, Удалить запись, Дублировать запись и Печать записи). Можно даже выбрать немедленное принятие изменений перед переходом к другой записи (Сохранить запись) или отмену последнего изменения
(Восстановить запись).
459
o В категории Работа с формой можно закрыть текущую форму (Закрыть форму) или напечатать ее (Печать текущей формы). Можно также открыть другую форму (Открыть форму), наиболее часто применяемое действие кнопки, поскольку помогает переходить от задачи к задаче.
Примечание
Когда используется действие Открыть форму, у вас есть возможность применить фильтр на базе текущей записи. К несчастью, это средство неустойчиво работает. В главе 14 будет рассмотрен более подробный пример, использующий фильтр для отображения связанных записей.
o В категории Работа с отчетом можно работать с другими отчетами, используя такие команды, как Открыть отчет, Просмотр отчета и Печать отчета. Эти действия помогают перейти от просмотра данных (в форме) к их печати (в отчете).
o В категории Приложение вы ограничены одним действием — очевидным Выйти из
приложения.
o В категории Разное вы найдете варианты для запуска отдельного запроса
Выполнение запроса) или макроса (Запуск макроса). О создании макросов рассказывается в главе 15.
4. Щелкните мышью кнопку Далее.
Следующий шаг зависит от выбранного действия. Некоторым действиям требуется дополнительная информация. Если вы выбрали отображение формы или печать отчета, программа Access попросит выбрать форму или отчет, которые хотите использовать.
После того как дополнительная информация введена, Access попросит ввести текст кнопки и выбрать изображение (рис. 13.19).
Рис. 13.19. Использовать рисунки соблазнительно, но те, что предлагает Access, определенно старомодные. Большинство фанатов программы Access выбирают кнопки без рисунков. Если вы решили включить рисунок, установите флажок Показать все рисунки для того, чтобы увидеть все, что может предложить Access (даже рисунки, которые не подходят для текущего действия), или воспользуйтесь кнопкой Обзор для вставки собственного рисунка
460
