
- •Санкт-Петербургский
- •Оглавление
- •5. Формы 25
- •3. Таблицы
- •3.1. Создание структуры таблицы
- •3.2. Загрузка таблицы данными
- •3.3. Модификация структуры таблицы
- •3.4. Работа с макетом таблицы
- •3.5. Схема данных
- •3.6. Печать таблицы
- •4. Запросы
- •4.1.Типы запросов
- •4.2.Создание qbe-запроса
- •4.3. Заполнение бланка запроса
- •4.4. Работа с построителем выражений
- •4.5. Редактирование запроса
- •4.6. Печать динамического набора данных
- •4.7. Примеры запросов
- •4.7.1. Запрос на выборку данных
- •4.7.2.Запрос с параметром (параметрический запрос)
- •4.7.3. Запрос на создание таблицы
- •4.7.4. Запросы на изменение данных
- •4.7.4.1. На добавление записей
- •Insert into Детали (номерд, имяд, цена )
- •Insert into Детали (номерд, имяд, цена )
- •Values ( 15, “ролик”,150);
- •Insert into Новая ( [номер поставщика], [номер детали], [имя детали], [город] )
- •4.7.4.2. Запрос на удаление записей
- •4.7.4.3. Запрос на обновление (корректировку) данных
- •4.7.5. Группирование данных в запросе
- •4.7.6. Перекрестный запрос
- •4.7.7. Подчиненные (вложенные) запросы
- •4.8.Фильтрация данных
- •5. Формы
- •5.1. Создание однотабличной формы
- •5.2. Редактирование формы
- •5.3. Часто используемые свойства формы
- •5.4. Элементы управления и их свойства
- •6. Отчеты
- •6.1. Создание отчета
- •6.2. Работа с отчетом в режиме конструктора
- •6.3. Сортировка и группировка данных
- •7. Макросы
- •7.1. Создание макросов
- •7.2. Краткая характеристика макрокоманд
- •7.3. Групповые макросы
- •7.4. Реализация ветвлений в макросах
- •7.4.1. Примеры макросов с односторонним ветвлением
- •7.4.2. Пример макроса с двусторонним ветвлением
- •7.5. Реализация циклов в макросах
- •8. Основы создания пользовательского интерфейса
- •8. 1. Взаимодействие форм
- •Интерфейс.Открыть просмотр
- •Интерфейс.Открыть редактирование
- •Интерфейс.Закрыть просмотр
- •8. 2. Создание кнопочных меню с помощью диспетчера кнопочных форм
- •8. 3. Создание пользовательских меню
- •8. 3.1. Создание пользовательских меню с помощью макросов
- •8. 3.2. Создание пользовательских меню с помощью своей панели инструментов
8. 3. Создание пользовательских меню
С любой формой можно связать какое- либо иерархическое меню, построенное по типу системного меню ACCESS. Создать такое меню можно двумя способами:
с помощью макросов
с помощью создания своей ПИ с последующей ее настройкой.
Рассмотрим оба способа.
8. 3.1. Создание пользовательских меню с помощью макросов
Созданное этим способом меню заменит линейку системного меню.
Рассмотрим пример.
Пример 31. Пусть при открытии формыДеталидолжно появляться иерархическое меню вида:
Это меню можно создать цепочкой взаимосвязанных макросов. Подчеркнутые символы будут определять “горячие клавиши”, с помощью которых можно сразу исполнить соответствующую команду меню.
Макрос по имени Моеменю. Назначение макроса - создать пункты горизонтального меню (ФормаиТаблица).
Макрокоманда |
Примечание |
ДобавитьМеню (Название меню: &Форма, Имя макроса: Форма) |
Символ & ставится перед символом, который будет выступать в качестве “горячей клавиши”, т. е. этот пункт меню активизируется нажатием клавиш Alt+ф. |
ДобавитьМеню (Название меню: &Таблица, Имя макроса: Таблица) |
|
Макрос по имени Формаиспользуется для создания пунктаЗакрытьформувертикального меню для пункта менюФорма. Этот макрос должен быть групповым:
Имя макроса |
Макрокоманда |
Примечание |
Закрыть Форму |
ДобавитьМеню (Название меню: &Закрыть форму, Имя макроса: Закрыть форму Детали, Сообщение: Закрываем формы) |
Использование этой макрокоманды для вертикального меню добавляет к названию меню символ ». Указанное в аргументах сообщение появится в строке состояния. |
Макрос по имени Таблицаиспользуется для создания двух пунктовОткрытьтаблицуиЗакрытьтаблицувертикального меню для пунктаТаблица. Этот макрос также должен быть групповым:
Имя макроса |
Макрокоманда |
Примечание |
Открыть таблицу |
ДобавитьМеню (Название меню: &Открыть таблицу, Имя макроса: Открытие таблиц, Сообщение: Открываем таблицы) |
|
Закрыть таблицу |
ДобавитьМеню (Название меню: &Закрыть таблицу, Имя макроса: Закрытие таблиц, Сообщение: Закрываем таблицы) |
|
Макрос по имени ЗакрытьформуДеталииспользуется для создания подпункта менюДеталик пунктуЗакрытьформу. Этот макрос должен быть групповым:
Имя макроса |
Макрокоманда |
Примечание |
Детали |
Закрыть (Тип объекта: Форма, Имя объекта: Детали) |
При исполнении этого макроса имя простого макроса Деталибудет использовано в качестве подпункта меню к пунктуЗакрытьформу. |
Макрос по имени Открытиетаблициспользуется для создания подпунктов менюПоставщики и Поставкик пунктуОткрытьтаблицу. Этот макрос должен быть групповым:
Имя макроса |
Макрокоманда |
Примечание |
Поставщики |
ОткрытьТаблицу (Имя таблицы: Поставщики) |
|
|
ВыделитьОбъект (Тип объекта: Форма, Имя объекта: Детали, В окне базы данных: Нет) |
Эта макрокоманда переносит фокус (делает активным окно формы) на форму Детали, чтобы было доступным созданное меню. Иначе доступным будет системное меню ACCESS. |
|
СдвигРазмер (От верхнего края: 8см., По правому краю: 10см.) |
Эта макрокоманда сдвигает активное окно (форму Детали) в правый нижний угол экрана так, чтобы была видна вся открытая таблица. Размер сдвига следует подобрать экспериментально. |
Поставки |
ОткрытьТаблицу (Имя таблицы: Поставки) |
|
|
ВыделитьОбъект (Тип объекта: Форма, Имя объекта: Детали, В окне базы данных: Нет) |
|
|
СдвигРазмер (От верхнего края: 8см., По правому краю: 10см.) |
|
Макрос по имени Закрытиетаблициспользуется для создания подпунктов менюПоставщики и Поставкик пунктуЗакрытьтаблицу. Этот макрос аналогичен предыдущему макросу:
Имя макроса |
Макрокоманда |
Примечание |
Поставщики |
Закрыть (Тип объекта: Таблица Имя таблицы: Поставщики) |
|
|
СдвигРазмер (От верхнего края: 8см., По правому краю: 10см.) |
Эта макрокоманда возвращает активное окно (форму Детали) в первоначальное положение на экране. |
Поставки |
Закрыть (Тип объекта: Таблица Имя таблицы: Поставки) |
|
Перечисленные макросы нужно создавать в обратной последовательности, начиная с пятого.
Далее следует связать макрос Моеменюсо свойствомСтрокаменю(вкладкаДругие) формыДетали (имя макроса набрать с клавиатуры !!!!!).
Откройте форму Деталив режиме формы и убедитесь в правильности функционирования созданного меню.