Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Плещёв БД 2013-03-15.doc
Скачиваний:
0
Добавлен:
10.01.2020
Размер:
12.65 Mб
Скачать

3.7.6. Настройка параметров среды и запуска приложения

Параметры настройки запуска приложения находятся в окне Пара­мет­ры запуска (рисунок 1.3.7.6.1). Это окно выводится командой Сервис/Па­раметры запуска. Если для пользователя создано меню базы или кнопочная форма, то при настройке приложения для пользователя в поле Вывод фор­мы/ст­ра­ницы указывается форма с меню или главная кнопочная форма. Для пользователя можно ис­ключить вывод полного набора команд меню Access, окна базы данных, встроенные панели инструментов/меню, заблокировать использование специальных клавиш Access (^F11 ‑ вывод п олного меню, F11 ‑ вывод окна базы и др).

Открытие базы данных при нажатой клавише Shift игнорирует па­ра­метры запуска настройки.

Рисунок 3.7.6.1. Окно настройки параметров запуска

Параметры, указываемые в командной строке при запуске Access

<имя файла> ‑ имя файла базы данных (MDB) или проекта (ADP).

/excl, /ro ‑ монопольный доступ к базе, только для чтения.

/user <имя>, /pwd <пароль> ‑ имя и пароль пользователя.

/compact <имя файла> ‑ имя результирующего файла после сжатия или вос­становления.

/x <имя макроса> ‑ выполнение запроса при загрузке Access.

/cmd<список значений> ‑ спиcок аргументов, передаваемых программе. Их можно получить функцией Command. Параметр должен быть последним.

/nostartup ‑ блокировка вывода окна с запросом открытия или создания базы данных.

/wrkgpr <имя файла> ‑ имя файла рабочей группы.

3.7.7. Изменение меню и панелей инструментов средствами Visual Basic

Рассмотрим пример.

Dim cbar As Object ‘объявление объектной переменной cbar

Set cbar=CommandBars(barname) ‘формирование ссылки на панель

cbar.Controls(i).Enabled=True ‘обращение к свойству i‑го элемента панели

setEnabled=true

3.8. Макросы

Макрос представляет собой набор макрокоманд Access. Макросы создаются конструктором макросов, который вызывается кнопкой Соз­дать на странице Макросы. Есть другой способ создания макроса (на­при­мер, открытие таблицы: выделяем нужную таблицу, нажимаем кнопку Новый объект: макрос и перетаскиваем мышкой таблицу в поле Макро­ко­манда окна конструктора макроса).

Можно создать группу запросов с отдельным доступом к макросу (в виде: <имя группы запроса>.<имя макроса>).

Пример создания группы макросов открытия таблиц (рисунок 3.8.1).

  1. Нажмем кнопку Создать на странице Макросы.

  2. Для добавления колонки с именем макроса нажмем кнопку Име­на макросов.

  3. П еренесем мышкой таблицы на странице Таблицы в ячейки Мак­ро­команды конструктора.

Рисунок 3.8.1. Окно конструктора макросов

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

  2. Сохраним макрос под именем Группа макросов открытия таб­лиц базы данных и закроем окно конструктора.

Условие выполнения макрокоманды задается в колонке Условие. Эта колонка формируется кнопкой Условие. Для формирования условия можно воспользоваться построителем выражений, вызываемым кнопкой По­ст­роить. Если условие сохраняется для нескольких макрокоманд, то оно указывается для первой макрокоманды, а для остальных указывается троето­чие. Для создания условия типа Если <условие> То ... Иначе ... следует создать макрокоманды, выполняемые при истинности указанного условия, а затем указать макрокоманды, выполняемые с противоположным условием. Запуск макроса можно выполнить, например, командой Сервис/Мак­ро/Вы­полнить макрос. Можно создать кнопку на панели инструментов в режиме настройки панели, перетащив мышкой нужный макрос со стра­ни­цы Макросы окна базы. Запустить макрос можно с по­мощью комбинаций клавиш: нужно создать группу макросов под именем AutoKeys; каждая строка этой группы содержит команду запуска мак­роса ЗапускМакроса и имя ‑ комбинацию клавиш запуска этого макроса (^<буква или цифра>, [^|+]{{F1}|...|{F12}|{Del}|{Insert}})*.

Запуск макроса/макрокоманды из процедуры Visual Basic осу­щест­вля­ется методом RunMacro/<латинское имя макрокоманды> объ­ек­та DoCmd (параметры указываются через запя­тую).

Пример. DoCmd.RunMacro “Печать”: DoCmd.OpenForm “Товары”

Для отладки макроса обычно используют кнопки: Запуск, По шагам (включается ре­жим пошагового выполнения макроса).

Ссылки на формы, отчеты и на их объекты (примеры)

Forms![Выпуск изделий] ‘ссылка на форму “Выпуск изделий”

Reports![Ведомость выпущенных изделий] ‘ссылка на отчет

Forms![Выпуск изделий]!Text1 ‘объект Text1 или его свойство Value

Forms![Выпуск изделий]!Text1.Enabled ‘свойство объекта Text1

Forms![Изделия]![Выпуск изделий] ‘главная и подчиненная формы

Forms![Изделия]![Выпуск изделий].Form!Text1 ‘объект в подчиненной форме

Reports![Изделия]![Выпуск изделий].Report!Text1 ‘объект в подчиненном отчете

Рассмотрим группы основных макрокоманд.

Работа с объектами

ЗадатьЗначение (SetValue) ‑ задать значение элементу (например, свой­ст­­вам объекта: Вывод на экран (Visible), Доступ (Enabled), Источник запи­сей (RecordSource), Блокировка записей (Locked), Разрешить изме­не­ние/до­бавление/удаление (Allow Edits/Additional/Delitions).

Открытие и закрытие объектов

Открытьформу (OpenForm), ОткрытьЗапрос (OpenQuery) и др.

Закрыть (Close) ‑ закрытие указанного объекта.

Фильтрация записей в формах, отчетах и в таблицах

При­ме­нить фильтр (ApplayFilter) ‑ отбор записей с указанием в аргу­мен­тах имени фильтра или условия от­бора (не более 256 символов).

ПоказатьВсеЗаписи (ShowAllRecords) ‑ отмена фильтра.

Перемещение по записям

НаЗапись (GoToRecord) ‑ переход на первую, послед­нюю, пре­дыдущую, следующую, новую, под указанным номером;

Най­ти­Запись/СледующаяЗапись (FindRecord/FindNext ‑ найти пер­вую/сле­­дую­щую запись, отвечающую заданному условию). Условие поиска записи можно задать макрокомандой.

Обновление данных в формах с повторным формированием источ­ни­ка данных

Обновление (Requery) ‑ обновление указанного активного объекта. Для ус­та­новки нужного объекта можно использовать макрокоманду Выделить объект (SelectObject).

Обновить объект (RepaintObject) ‑ обновление только объектов базы, а не элементов управления. Обычно эта макрокоманда применяется после выполнения макрокоманды ЗадатьЗначение.

ПоказатьВсеЗаписи (ShowAllRecords) ‑ отмена фильтра (часто исполь­зу­ет­ся для обновления данных в подчиненных формах).

Преобразование макросов в процедуры или в функции Visaul Basic выполняется командой Сервис/Макрос/Преобразовать макросы.