Главная страница

Краткое содержание 29 Об этих стрелках 30 о сочетаниях клавиш 32 о щелчках кнопкой мыши 33 Примеры 33


Скачать 19.64 Mb.
НазваниеКраткое содержание 29 Об этих стрелках 30 о сочетаниях клавиш 32 о щелчках кнопкой мыши 33 Примеры 33
АнкорAccess_2007.doc
Дата16.03.2017
Размер19.64 Mb.
Формат файлаdoc
Имя файлаAccess_2007.doc
ТипКраткое содержание
#3862
страница38 из 65
1   ...   34   35   36   37   38   39   40   41   ...   65
Раздел (Selection) выберите раздел формы, с которым хотите работать. Почти всегда это Область данных.

В диалоговом окне Последовательность перехода (Tab Order) можно задать нужную последовательность отдельно для каждого раздела формы. Если в форму включены За­головок формы и Примечание формы, можно выбрать работу с одним из этих разделов

или с Областью данных. Но очень редко попадается форма с элементами управления, поддерживающими переходы по клавише <Таb>, расположенными за пределами Облас­ти данных.

3. Если хотите позволить программе Access попытаться задать правильную последовательность переходов, щелкните мышью кнопку Авто (Auto Order).

При щелчке мышью кнопки Авто Access устанавливает последовательность перехода на основе местоположения элементов управления. Порядок следования слева направо и за­тем сверху вниз. В большинстве случаев режим Авто задает верную последовательность перехода (или, по крайней мере, приближает вас к ней).

4
. Для переноса одного элемента управления в новое место в последовательности перехода
перетащите его мышью.

Этот шаг требует небольшой ловкости. На рис. 13.12 показано, как он выполняется.
Рис. 13.12. Для изменения местоположения элемента управления в последовательности перехода начните со щелчка кнопкой мыши серого поля, находящегося слева от элемента управления. Выделится вся строка списка. Далее перетащите элемент в новую строку в списке. В данном примере поле Country перемещается вниз в последовательности перехода
5. Когда исправите последовательность перехода, щелкните мышью кнопку ОК.
Подсказка

Последовательность перехода действует в двух направлениях. Можно перейти к очередному элементу в последовательности, нажав клавишу <Таb>, и к предыдущему элементу, нажав комбинацию клавиш +
Контроль с помощью элементов управления
Вы уже знаете, как создавать форму с чистого листа и добавлять все необходимые элементы управления. Но вы еще не воспользовались новой функциональной возможностью, позво­ляющей делать нечто особенное. Вы научились вставлять подписи, линии и прямоугольни­ки. Но все эти оформительские украшения меркнут по сравнению с действительно полез­ными средствами, которые программа Access позволяет добавлять в ваши формы. Хотите помешать вводу ошибочных данных? Пожалуйста. Хотите добавить гиперссылки в стиле Web? Нет проблем. Список того, что вы можете сделать для расширения функциональных возможностей ваших форм, почти бесконечен. В следующих разделах описаны самые попу­лярные способы контроля данных на форме с помощью элементов управления.

Блокировка полей

В БД почти все порции информации — объекты для изменения. Но это не означает, что сле­дует всем предоставить свободный доступ ко всем полям.

Предположим, что компания Boutique Fudge создает форму CurrentOrders (текущие за­казы), которая позволит персоналу склада просматривать ожидающие обработки заказы клиентов, отсортированные по дате. Персонал склада должен просмотреть каждый заказ, упаковать и затем отправить его. Единственное изменение, которое она должны вносить, — обновление состояния заказа (обозначить дату его отправки) или вставить запись в журнал регистрации доставки. Другие подробности, такие как дата заказа, содержимое заказа и кли­ент, получающий заказ, должны быть закрыты. У сотрудников склада нет причин изменять эти данные.

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

У любого присоединенного элемента управления (элемента, отображающего поле вашей таблицы) есть два свойства, которые можно применять для контроля редактирования. Эти свойства можно изменять в Окне свойств в режиме Конструктор.

  • Блокировка (Locked) определяет, можно ли изменять поле. Если у свойства значение Да, нельзя редактировать значение поля. Но при этом можно выделить содержимое поля и скопировать его.

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



Подсказка

Если вы хотите запретить любые варианты редактирования, рассмотрите возможность приме­нения свойств формы Разрешить изменение (Allow Edits), Разрешить удаление (Allow Deletions) и Разрешить добавление (Allow Additions), описанных в табл. 12.2.

Предупреждение ошибок с помощью условий на значения
В главе 4 вы узнали, как предупреждать проникновение ошибок в ваши таблицы с помощью правил верификации или условий на значение, значений по умолчанию и масок ввода. Та­кая многоуровневая проверка — существенная часть проектирования БД.

Но в некоторых ситуациях условия на значения не помогут, поскольку они применяются не всегда, а время от времени. Вы вряд ли захотите, чтобы продавцы в Boutique Fudge вво­дили новый заказ со старой датой. Ясно, что это ошибка — у нового заказа должна быть те­кущая дата. Для выявления и устранения этой проблемы умный разработчик, вроде вас, может использовать следующее условие на значение в поле OrderDate:

<=Date ( )

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

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

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

  • Условие на значение (Validation Rule) задает выражение, которому должно удовлетворять значение для того, чтобы считаться допустимым. Например, выражение <=Date ()
    сравнивает текущее значение поля с датой, возвращаемой функцией Date () (которая представляет текущую дату). Ввод разрешается, только если вводимая дата сегодняшняя или предшествующая. Гораздо больше примеров выражений для проверки значений можно найти в разд. "Запись условия на значение поля" главы 4.

  • Сообщение об ошибке (Validation Text) задает текст сообщения об ошибке, которое выводится, если вы пытаетесь ввести значение, нарушающее условие на значение. Этот пользовательский текст заменяет общее сообщение об ошибке программы Access — "Для введенного значения не выполняется условие на значение данного поля или элемента управления" — в котором для реальных пользователей мало смысла.

  • Маска ввода (Input Mask) задает образец, который направляет и ограничивает пользовательский ввод. Маски ввода — хороший способ обработки текстовых значений фиксированной длины, например, телефонных номеров, почтовых кодов и номеров социального обеспечения. В разд. "Маски ввода" главы 4 приведена подробная информация о том, как действуют и создаются маски ввода.

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

Примечание

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

Выполнение вычислений в выражениях
Выражение — это формула, обрабатывающая некоторую информацию, например числа, да­ты или текст, и отображающая конечный результат (рис. 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.
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. Добавьте все нужные страницы Вкладки.

Любой новый элемент управления Вкладка сначала отображается с двумя страницами. Перейти со страницы на страницу можно щелчком кнопки мыши по соответствующему заголовку.

Для создания новой страницы щелкните правой кнопкой мыши любую страницу (но не заголовок вкладки) и выберите Вставить вкладку (Add Page). Для удаления сущест­вующей страницы щелкните ее правой кнопкой мыши и выберите команду Удалить вкладку (Delete Page).



Рис. 13.14. Имеет смысл поместить адресную информацию клиента на отдельную вкладку, поскольку все эти поля образуют группу логически связанных данных

3. Задайте подходящие имена вкладок.

Имена, которые первоначально присваивает вкладкам программа Access, малоинформативны, например, Вкладка19 и Вкладка20. Для изменения заголовка или имени вкладки выделите страницу и измените параметр Подпись (Caption) в Окне свойств. У страни­цы, отображающей адресные поля клиента, мог бы быть заголовок "Address Information" (адресные данные).

Для изменения порядка следования страниц щелкните правой кнопкой мыши элемент управления Вкладка и выберите команду Последовательность вкладок (Page Order). Программа Access откроет диалоговое окно Порядок страниц со списком вкладок. Для изменения местоположения вкладки выделите ее и щелкните мышью кнопку Вверх или Вниз.
Примечание

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

неудобства, измените размер элемента управления Вкладка, сделав его достаточно широким для отображения всех страниц или не применяйте длинные заголовки вкладок.
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-сайт моей компании").



Рис. 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. Щелкните мышью кнопку ОК для вставки гиперссылки.

На форме появится новая гиперссылка. Затем можно переместить ее в любое место формы.

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

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



Рис. 13.16. На этой форме список позволяет перейти к нужному товару одним щелчком мыши. Обратите внимание на то, что этот список не заменяет собой элемент управления Поле для ProductName. Список может применяться для поиска нужной записи, а поле — для изменения названия товара. Конечно, если в данной форме названия товаров никогда не меняются, нет необходимости включать в нее поле ProductName



Рис. 13.17. Когда создается поле со списком (или список), мастер создания списка позволяет вам выбрать, применять его для редактирования или для переходов

5. Выберите доле, которое хотите использовать для просмотра, и щелкните мышью кнопку Далее.

В примере рис. 13.16 используется поле ProductName. Технически список всегда функ­ционирует одинаково — он находит элементы на основе значения уникального первично­го ключа (см. разд. "Первичный ключ "главы 2). У создаваемого вами списка на самом деле два столбца. В первом хранятся значения первичного ключа, а во втором отображаются значения выбранного вами поля. Но на форме вы не увидите первичного ключа, потому что он скрыт.

Примечание

Этот метод не будет действовать, как следует, если в выбранном поле разрешены дублирую­щиеся значения. Если создается список, использующий поле LastName, вы можете обнару­жить несколько значений MacDonald. В этом случае рассмотрите возможность добавления не­скольких полей в список просмотра (например, поле LastName и поле FirstName).

6. Оставьте установленным флажок Скрыть ключевой столбец (рекомендуется) и щелкните мышью кнопку Далее для продолжения.

Если вы не планируете отображать столбец с первичным ключом, — обычно это так — просто щелкните мышью кнопку Далее, чтобы проскочить это окно.

7. Введите название списка.

Оно появится в подписи, расположенной рядом с элементом управления Список. Можно использовать что-то вроде "Щелкните кнопкой мыши товар, который хотите просмот­реть". Позже подпись можно будет переместить или удалить.

8. Щелкните мышью кнопку Готово для создания списка.

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

Примечание

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

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

Когда на форму вставляется элемент управления Кнопка, Access запускает полезный мастер создания кнопки, в котором можно выбрать нужное действие из списка заранее под­готовленных вариантов. Затем мастер поможет создать макрос (см. главу 15), который сде­лает все, что потребуется.

Варианты в мастере Создание кнопок предоставляют подробное меню возможностей. Некоторые ярые поклонники программы Access считают, что могут сделать все, что захотят, используя только кнопки и мастер. Другим иногда требуется сделать нечто более ориги­нальное, в этом случае они вынуждены создавать собственные макросы или писать пользо­вательский код (задачи, которыми вы будете заниматься в части V).

Следующие действия проведут вас через процесс создания кнопки с помощью мастера.

  1. В группе ленты Инструменты конструктора форм | Конструктор Элементы управления щелкните кнопкой мыши пиктограмму Кнопка.

  2. Нарисуйте элемент управления Кнопка на форме.

Когда вы закончите, запустится мастер Создание кнопки и сразу включится в работу. Прежде всего, он попросит выбрать действие, которое будет выполняться (рис. 13.18).



Рис. 13.18. Вы можете заставить форму выполнять шесть категорий действий. После выбора категории (в списке слева) вы увидите список действий в выбранной категории (в списке справа)
3. Выберите действие, которое хотите выполнить.

Большинство действий интуитивно понятно. Далее приведены некоторые самые инте­ресные.

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

  • В категории Обработка записей можно создать новую пустую запись (Добавить запись) или обработать текущую запись (например, Удалить запись, Дублировать запись и Печать записи). Можно даже выбрать немедленное принятие изменений пе­ред переходом к другой записи (Сохранить запись) или отмену последнего измене­ния (Восстановить запись).

  • В категории Работа с формой можно закрыть текущую форму (Закрыть форму) или напечатать ее (Печать текущей формы). Можно также открыть другую форму (Открыть форму), наиболее часто применяемое действие кнопки, поскольку помогает переходить от задачи к задаче.



Примечание

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



  • В категории Работа с отчетом можно работать с другими отчетами, используя такие команды, как Открыть отчет, Просмотр отчета и Печать отчета. Эти действия помо­гают перейти от просмотра данных (в форме) к их печати (в отчете).

  • В категории Приложение вы ограничены одним действием — очевидным Выйти из приложения.

  • В категории Разное вы найдете варианты для запуска отдельного запроса Выполнение запроса) или макроса (Запуск макроса). О создании макросов рассказывается в главе 15.

4. Щелкните мышью кнопку Далее.

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

После того как дополнительная информация введена, Access попросит ввести текст кнопки и выбрать изображение (рис. 13.19).



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

Примечание

Любой точечный рисунок (BMP-файл) подходит в качестве рисунка для кнопки, если он доста­точно мал, чтобы уместиться на ней. Годятся также пиктограммы, файлы JPEG и GIF.

5. Введите какой-либо текст и выберите рисунок. Затем щелкните мышью кнопку Далее.

Эти данные потом можно изменить, корректируя свойства Подпись (Caption) и Рисунок (Picture) (которые выводятся на вкладке Макет).

6. Задайте имя кнопки.

Имя выводится в списке Окна свойств. Чем лучше выбрано имя, тем легче найти кнопку. А если вы пишете код, работающий с кнопками (см. главу 16), чем лучше имя, тем легче другим читать и понимать ваш код.

7. Щелкните мышью кнопку Готово.

Для испытания кнопки перейдите в Режим формы и щелкните кнопку мышью.

Формы и связанные таблицы
Как вы узнали в главе 5, немногие таблицы по-настоящему независимы. Большинство из них связано с другими таблицами паутиной отношений. Формы могут воспользоваться этими отношениями для отображения связанной информации. Можно применить одну форму для отображения (и редактирования) данных о клиентах и их заказах. Или можно просматривать товары и их категории. Такой свободы нет на листе данных.

Примечание

Профессиональные разработчики Access применяют запросы с объединением (см. разд. "Запросы и связанные таблицы" главы 6) для отображения информации из нескольких таблиц. Но в запросе с операцией объединения нельзя редактировать связанные данные. В хорошо спроектированной форме такого ограничения нет — можно корректировать данные как в роди­тельской, так и в дочерней записях.

Связи таблиц и простые формы
Программа Access достаточно сообразительна, чтобы заметить связи во время создания но­вой формы для родительской таблицы. Для того чтобы понять, что это значит на практике, выделите таблицу-родитель для другой таблицы. Можно воспользоваться таблицей ProductCategories в БД Boutique Fudge, поскольку каждая категория служит родительской записью, связанной с одной или несколькими записями-потомками в таблице Products. (Можно также использовать таблицу Customers, поскольку клиенты связаны с заказами, или таблицу Orders, т. к. заказы связаны с конкретными компонентами заказа. Для практической проверки примените БД Boutique Fudge для данной главы, содержащую загружае­мые из Интернета данные.)

На рис. 13.20 показано, что произойдет, если выделить таблицу ProductCategories, а за­тем выбрать на ленте Создание Формы Форма. Программа Access создает форму, которая выводит ожидаемые записи (категории) и связанные записи из таблицы-потомка (в данном случае товары).

Примечание

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



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

Элемент управления Подчиненная форма

Программа выводит связанные записи с помощью элемента управления Подчиненная фор­ма. Этот элемент можно добавить на любую форму для отображения связанных записей. Он доступен в группе ленты Инструменты конструктора форм | Конструктор Элементы

управления наряду с другими элементами управления. Если добавить его вручную, Access попросит выбрать таблицу, которую следует отображать.

То, что отображает подчиненная форма, определяется тремя свойствами. Первое свойст­во Объект-источник (Source Object) задает объект БД, имеющий связанные записи. Можно выбрать существующие таблицу, запрос или форму.

Следующие два свойства — Основные поля (Link Master Fields) и Подчиненные поля (Link Child Fields) — позволяют определить способ связи двух таблиц. Основное поле — это поле в форме, а подчиненное поле — это поле в объекте-источнике. В примере с категориями товаров основное поле — ID (в таблице ProductCategories) и подчиненное поле — поле ProductID (в таблице Products). После того как эта связь определена, программа Access знает, как фильтровать подчиненную форму. Она просматривает основное поле и отобража­ет только те записи, у которых то же значение в подчиненном поле. На рис. 13.20 Access ото­бражает товары текущей категории.

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

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

Подсказка

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

Создание настроенных подчиненных форм
Если в свойстве Объект-источник задана таблица или запрос, программа Access всегда ото­бражает связанные записи на мини-листе данных. Если вы намерены настраивать каждый новый фрагмент формы, возможно, вас не устроит такое отображение. Интересно, что про­грамма Access позволяет управлять способом отображения связанных записей, если потру­диться немного больше.

Хитрость заключается в задании в свойстве Объект-источник формы, которую хотите отобразить в элементе управления Подчиненная форма. Форма появится в режиме вывода по умолчанию в соответствии со значением в свойстве Режим по умолчанию. Можно выво­дить связанные записи в табличном макете или макете в столбец. На рис. 13.21 показан пример.

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

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



Рис.13.21. Благодаря магии подчиненных форм в этом окне на самом деле одновременно отображаются две формы: ProductCategories_WithSubform и ProductslnCategory_Subform.

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

Подсказка

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

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

1   ...   34   35   36   37   38   39   40   41   ...   65


написать администратору сайта