Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Отображение всех форм в спискеСодержание книги
Поиск на нашем сайте
Это последнее средство может оказаться полезным при разработке пульта управления переходами. Вместо создания кнопок для всех форм, которые хотите использовать, можно создать элемент управления Список, включающий их все. Когда пользователь, работающий с БД, выбирает форму из списка, программа Access переходит к этой форме. Такой подход очень удобен при большом количестве форм, способных сделать кнопочный метод непоправимо запутанным.
Примечание Этот метод работает так же хорошо с отчетами, как и с формами.
Первый шаг — включение в список имен форм. Программа Access позволяет сделать это тремя способами. ■ Ввод имен вручную. Просто поместите на форму элемент управления Поле со списком. Когда запустится мастер создания элемента управления, выберите переключатель Будет введен фиксированный набор значений и затем введите имена форм в соответствующем порядке.
Примечание См. более подробную информацию о мастере создания списка в разд. "Переходы с помощью списков" главы 13. Только помните о том, что в конце работы мастера нужно выбрать вариант Запомнить значение. Ваш список применяется для переходов, а не для редактирования записей.
■ Извлечение имен из пользовательской таблицы, созданной вами. Создайте новую таблицу и заполните ее именами форм, которые хотите включить в список. Затем в процессе создания Поля со списком выберите переключатель Объект "поле со списком" будет использовать значения из таблицы или запроса и задайте вашу пользовательскую таблицу. Этот метод концептуально подобен методу функционирования кнопочной формы, создаваемой программой Access. ■ Извлечение имен из системной таблицы. В качестве действительно эффективного средства можно получить полный список форм прямо из вашей БД без дополнительных усилий. Суть в использовании одной из скрытых системных таблиц. Системные таблицы — это таблицы, которые программа Access применяет для отслеживания объектов БД. У каждой БД, созданной Access, есть такие таблицы, скрытые от глаз. Первые два варианта просты. Третий — более впечатляющий, но требует немного больше работы. Обычно системные таблицы скрыты от глаз. Отобразить их можно (рис. 14.16), установив флажок Показывать системные объекты в окне Параметры переходов. Надолго оставлять их видимыми не стоит, т. к. любое изменение в них может повредить вашу БД и озадачить программу Access. Системные таблицы можно использовать и не выводя на экран. Самая интересная системная таблица — MsysObjects, в которой перечислены все объекты БД. Можно получить список всех форм вашей БД, создав запрос к этой таблице с помощью SQL-команды (см. в разд. "Режим SQL" главы 6 информацию об использовании в запросах языка SQL). Поле Name содержит имена объектов БД, поле Туре — числовой код, обозначающий тип объекта. В табл. 14.1 приведены типы, которые могут вас заинтересовать.
Таблица 14.1. Коды полезных типов
Рис. 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. В Окне свойств выделите вновь созданную кнопку и перейдите на вкладку События События — это действия или явления, которые запускают ваш макрос. Например, у всех кнопок есть событие Нажатие кнопки (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 с.) |