Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Отображение всех форм в списке

Поиск

Это последнее средство может оказаться полезным при разработке пульта управления пере­ходами. Вместо создания кнопок для всех форм, которые хотите использовать, можно создать


элемент управления Список, включающий их все. Когда пользователь, работающий с БД, выбирает форму из списка, программа Access переходит к этой форме. Такой подход очень удобен при большом количестве форм, способных сделать кнопочный метод непопра­вимо запутанным.

 

 

Примечание

Этот метод работает так же хорошо с отчетами, как и с формами.

 

 

Первый шаг — включение в список имен форм. Программа Access позволяет сделать это тремя способами.

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

 

 

Примечание

См. более подробную информацию о мастере создания списка в разд. "Переходы с помощью спи­сков" главы 13. Только помните о том, что в конце работы мастера нужно выбрать вариант За­помнить значение. Ваш список применяется для переходов, а не для редактирования записей.

 

 

Извлечение имен из пользовательской таблицы, созданной вами. Создайте новую таблицу и заполните ее именами форм, которые хотите включить в список. Затем в процессе создания Поля со списком выберите переключатель Объект "поле со списком" будет использовать значения из таблицы или запроса и задайте вашу пользовательскую таблицу. Этот метод концептуально подобен методу функционирования кнопочной формы, создаваемой программой Access.

Извлечение имен из системной таблицы. В качестве действительно эффективного средства можно получить полный список форм прямо из вашей БД без дополнительных усилий. Суть в использовании одной из скрытых системных таблиц. Системные таблицы — это таблицы, которые программа Access применяет для отслеживания объектов БД. У каждой БД, созданной Access, есть такие таблицы, скрытые от глаз.

Первые два варианта просты. Третий — более впечатляющий, но требует немного больше работы. Обычно системные таблицы скрыты от глаз. Отобразить их можно (рис. 14.16), ус­тановив флажок Показывать системные объекты в окне Параметры переходов. Надолго оставлять их видимыми не стоит, т. к. любое изменение в них может повредить вашу БД и озадачить программу Access.

Системные таблицы можно использовать и не выводя на экран. Самая интересная сис­темная таблица — MsysObjects, в которой перечислены все объекты БД. Можно получить список всех форм вашей БД, создав запрос к этой таблице с помощью SQL-команды (см. в разд. "Режим SQL" главы 6 информацию об использовании в запросах языка SQL). Поле Name содержит имена объектов БД, поле Туре — числовой код, обозначающий тип объекта. В табл. 14.1 приведены типы, которые могут вас заинтересовать.

 

 

Таблица 14.1. Коды полезных типов

 

Объект Тип Объект Тип
Таблица (Table)   Форма (Form) -32 768
Запрос (Query)   Отчет (Report) -32 764

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

На основе этих данных можно получить список форм — извлечь поле Name, а затем ото­брать записи со значением типа -32 768.

Легче всего реализовать описанную логику в элементе управления Список, добавив спи­сок на форму и пропустив мастер создания списка (нажмите клавишу <Esc>, когда мастер запустится). Затем элемент управления можно настроить с помощью Окна свойств. На вкладке Данные найдите свойство Источник строк и введите следующую SQL-команду, которая выполнит нужный запрос:

SELECT Name FROM MSysObjects WHERE MSysObjects.Type=-327 68

Теперь у вас есть список, отображающий все формы вашей БД. Можно заменить число -32 764 числом -32 768 и получить все отчеты. На рис. 14.17 показан результат.

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

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


Рис. 14.17. В данной форме отображен список всех доступных отчетов

 

 

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

1. Поместите кнопку на вашу форму.

Расположите ее рядом с элементом управления Поле со списком. Запустится Мастер кнопок.

2. Выберите категорию Работа с отчетами и действие Открыть отчет, а затем щелкните мышью кнопку Далее.

Если вы отображаете список форм, выберите категорию Работа с формами и действие Открыть форму.

3. Выберите любой отчет или форму и щелкните мышью кнопку Далее.
Неважно, какой объект вы выберите, поскольку эту часть вы измените позже.

4. Завершите мастер.

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

Когда мастер завершил работу, самое время внимательнее взглянуть на кнопку в Окне свойств.

5. В Окне свойств выделите вновь созданную кнопку и перейдите на вкладку События
(Event).

События — это действия или явления, которые запускают ваш макрос. Например, у всех кнопок есть событие Нажатие кнопки (OnClick), которое возникает, когда вы щелкаете кнопку мышью.

6. Найдите событие Нажатие кнопки (OnClick) и щелкните мышью в поле свойства, в котором выводится строка [Внедренный макрос] ([Embedded Macro]).

В углу поля появляется кнопка с многоточием (...).


7. Щелкните мышью многоточие для редактирования макроса.

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

Рис. 14.18. Вы узнаете об этом окне гораздо больше в главе 15. Сейчас вам нужно знать лишь то, что у данного макроса единственная макрокоманда (представленная одной строкой в табличной сетке). Эта макрокоманда открывает отчет (на что указывает значение ОткрытьОтчет в столбце Макрокоманда)

 

8. В разделе Аргументы макрокоманды найдите свойство Имя отчета (или Имя формы).

Замените его значение выражением =MyList.Value.

Это выражение находит поле со списком и извлекает выделенное в данный момент зна­чение. Предполагается, что поле со списком названо My List. Если нет, измените выра­жение соответствующим образом. (Если вы не помните имени вашего поля со списком, выделите элемент щелчком кнопки мыши и посмотрите, какое имя выводится в рас­крывающемся списке в верхней части Окна свойств.)

9. Закройте окно макроса и ответьте Да на предложение сохранить изменения.
Вы вернетесь в окно Конструктора формы.

10. Перейдите в Режим формы и проверьте магические свойства вашего нового списка.

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


Ссылки на связанные данные

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

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

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

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

 

 



Поделиться:


Последнее изменение этой страницы: 2016-08-14; просмотров: 162; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.227.105.110 (0.009 с.)