Среда, 27.11.2024, 17:49
Приветствую Вас Гость | RSS

МАСТЕР ПО ОБРАБОТКЕ ЦИФРОЙ ИНФОРМАЦИИ

урок 7 Access

Макросы. Создание кнопок для запуска форм

Определение макроса

makrosМакрос – это набор из нескольких команд на языке Visual Basic, который позволяет упростить или запрограммировать операции с базой данной. Как правило макросы записываются в автоматическом режиме, поэтому нет необходимости в знании языка Viual Basic. Макросы программируют рутинные операции при помощи легко создаваемммых кнопок. С помощью макросов удобно создавать главное меню прикладной системы и подчиненные меню. В Access 97 имеется 49 макрокоманд, которые можно включать в макросы.

Как правило макросы связаны с “реакцией на событие” управляющих элементов Access. События определяют, что происходит при нажатии кнопки, входе или выходе из поля БД, открытии или закрытии формы или отчета.

Замечание. Первоначально задания приводятся с учетом Access 97, в дальнейшем планируется их адаптировать под более поздние версии.

Создание кнопок для запуска форм

Создадим форму “Панель с кнопками” для вызова некоторых форм нашей базы данных. Для этого выберем закладку Макрос на панели базы данных, нажмем кнопку Создать. На экране появится окноМакрос1: макрос. В нем имеется таблица с двумя полями. Первое из них предназначено для записи макроса, второе – для комментариев. Теперь сделаем доступными одновременно два окна, для этого выберем пункты меню Окно / Слева направо.

Нажмем на панели БД закладку Форма, выберем форму “Покупатель” и перетащим ее в первую строку таблицу определения макроса в столбец Макрокоманда. Там появится текст Открыть Формув нижней части окна – аргументы макрокоманды. Свернем окно базы данных, откроем побольше окно макросов. В строке Примечание запишем Ввод данных по покупателю. Закроем макрос, сохраним его с именем “Покупатель”.

Теперь создадим форму для размещения кнопок. Выберем закладку Форма в окне базы данных,создадим «пустую» форму, для чего нажмем кнопку Создать и выберем режим Конструктор. Затем снова перейдем к закладке Макросвозьмем созданный нами макрос “Покупатель” и отбуксируем его в форму. Там появится кнопка с надписью Покупатель. При просмотре списка можно обнаружить, что в свойстве Нажатие кнопки записано имя макроса «Покупатель».

Закроем форму и сохраним ее с именем “Панель кнопок”. Для проверки ее работы откроем форму и нажмем кнопку Покупатель. На экране появится созданная нами ранее форма “Покупатель”, с помощью которой можно просматривать и вводить данные по покупателям.

Задание

  1. Создать в форме “Панель кнопок” кнопки Товар и Заказ для форм “Товар” и “Заказ с полем со списком”.
  2. Добавить в форму “Панель кнопок” заголовок Основные формы ввода данных.
  3. Поместить заголовок на приподнятый прямоугольник, кнопки на утопленный. 

    Макросы. Автоматический запуск макроса при открытии БД

    При открытии БД Access удобно вывести на экран определенную форму, например, панель кнопок управления приложением. Сделаем так, чтобы при открытии нашей базы данных выводилась форма “Панель кнопок”.

    Для этого выберем закладку Макроснажмем кнопку Создать, при этом появится пустое окно макроса в режиме конструктора. Нажмем на кнопку в столбце Макрокоманда, из списка выберем макрокоманду ОткрытьФорму. В окнеАргументы макрокоманды в качестве Имени формы выберем из списка, открываемого кнопкой, форму “Панель кнопок”. Закроем макрос и сохраним его с именем “AutoExec”.

    Теперь закроем нашу БД и откроем ее. При этом автоматически откроется форма “Панель кнопок”. Чтобы открыть БД без автоматического открытия этой формы, надо при открытии базы данных удерживать нажатой кнопку Shift.

    Теперь отменим автоматический запуск “Панели кнопок”. Для этого переименуем макрос “AutoExec” в “AutoExec1”, используя пункт меню управления БД Файл / Переименовать.

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

    Макросы. Ускорение поиска

    Создадим кнопку “Поиск фамилии” для быстрого поиска покупателя по фамилии в форме “Покупатель”. Рассмотрим первый способ – использование стандартных возможностей Access. Откроем форму “Покупатель” в режиме конструктора. На панели элементов нажмем пиктограмму Кнопка. Поместим кнопку в нижнюю часть формы. Будет вызван мастер Создание кнопки. Выберем режимы Категории: Переходы по записями, Действия: Поиск записи. Далее на кнопке разместим текст «Поиск фамилии», введя соответствующий текст в поле Текст. Далее в качестве названия кнопки введем ФИО. При работе с формой “Покупатель” при нажатии кнопки будет вызываться окно стандартного поиска в Access.

    Второй способ создания макроса рассмотрим на примере создания кнопки подобного поиска для формы “Товар”. Создадим поле для ввода начала названия товара. Откроем эту форму в режиме конструктора и перетащим туда пиктограмму Поле в нижнюю часть формы. Вызовем список свойств правой части поля(оно имеет обозначение Свободный) щелчком правой кнопки мыши и заменим Имя на Поиск. В строке состояния (свойство Текст строки состояния) введем текст: Введите название товара или его первые буквы. Вызовем список свойств для левой части Поля (Надписи) и заменим Подпись также на Поиск. Закроем форму.

    Дальше создадим макрос “Поиск”. Он будет состоять из трех макрокоманд. Откроем закладку Макрос,нажмем кнопку Создать. С помощью команд верхнего меню Вид / Имена макросов включим дополнительный столбец Имя макроса. Введем туда в первой строке слово Поиск. В колонкеМакрокоманда с помощью кнопки выберем макрокоманду КЭлементуУправления (кнопка вызывается щелчком левой кнопки мыши по строке в указанном столбце). В области Аргументы макрокоманды в нижней части окна в качестве Имени элемента введем текст [Наименование] (в этом поле таблицы ТОВАР будет искаться товар с указанным именем). Во второй строчке во втором столбце Макрокомандавыберем из списка макрокоманд команду НайтиЗапись. В аргументах макрокоманды введем с клавиатуры в поле Образец поиска текст =[Поиск] (т.е. будет разыскиваться в поле Наименованиетаблицы ТОВАР запись, начало названия товара в которой совпадает с введенным в поле Поискзначением). В поле Совпадение выберем из списка элемент С начала поля. Остальные элементы оставим без изменения. В третьей строке во втором столбце выберем снова макрокомандуКэлементуУправления, в аргументах макрокоманды для Имени элемента введем [Поиск]. Квадратные скобки вводить обязательно!

    Созданный нами макрос будет работать следующим образом. Вначале выбирается поле Наименованиетаблицы ТОВАР для организации поиска. Затем по образцу из поля Поиск формы осуществляется поиск первой по порядку нужной нам записи. Затем фокус опять передается в поле Поиск для возможного продолжения поиска.

    Закроем макрос и сохраним его с именем “Поиск товара”. Теперь опять откроем форму товар и перетащим туда макрос “Поиск товара”. Появится кнопка с соответствующей подписью. Для поиска товара нужно ввести первые буквы названия товара, нажать кнопку “Поиск”, будет найдена нужная запись (если она существует). Обратите внимание, то если ничего не вводить в окне Поиск, то при нажатии кнопки будет выдано сообщение об ошибке! В СУБД Access существуют способы обработки подобных ситуаций – макросы с условиями, но мы их рассматривать не будем.

    Но таким образом можно найти лишь первую запись на введенную букву. Нетрудно организовать еще одну кнопку “Поиск далее”. Для этого сделаем копию макроса “Поиск товара” через буфер обмена с помощью пунктов меню Правка / Копировать и Вставить и назовем его “Поиск далее”С помощью конструктора изменим в новом макросе в аргументе строки НайтиЗапись свойство Первое вхождение сДа на Нет, Область поиска – Вниз. Теперь перетащим новый макрос в режиме конструктора в форму “Товар”. Теперь будет идти поиск и последующих записей с тем же началом в поле Наименование.

    Задание

    1. Создать в форме “Покупатель” аналогичные кнопки для поиска покупателя по началу фамилии.
    2. Создать в форме «Заказ» кнопку поиска записей, имеющих совпадающую с вводимой в специальном поле дату.

      Макрос ускорения поиска записи

      Создадим кнопку “Поиск фамилии” для быстрого поиска покупателя в форме “Покупатель”. Рассмотрим первый способ – использование стандартных возможностей Access. Для этого откроем форму “Покупатель” в режиме конструктора. На панели элементов выберем пиктограмму Кнопка. Поместим кнопку в нижнюю часть формы. Будет вызван мастер Создание кнопки. Выберем режимы Категории: Переходы по записями, Действия: Поиск записи. Далее на кнопке разместим текст «Поиск фамилии», введя соответствующий текст в поле Текст. Далее в качестве названия кнопки введем ФИО. При работе с формой “Покупатель” при нажатии кнопки будет вызываться окно стандартного поиска в Access.

      Второй способ создания макроса рассмотрим на примере создания кнопки подобного поиска для формы “Товар”. Создадим поле для ввода начала названия товара. Откроем эту форму в режиме конструктора и перетащим туда пиктограмму Поле в нижнюю часть формы. Вызовем список свойств правой части поля(оно имеет обозначение Свободный) щелчком правой кнопки мыши и заменим Имя на Поиск. В строке состояния (свойство Текст строки состояния) введем текст: Введите название товара или его первые буквы. Вызовем список свойств для левой части Поля (Надписи) и заменим Подпись также на Поиск. Закроем форму.

      Дальше создадим макрос “Поиск”. Он будет состоять из трех макрокоманд. Откроем закладку Макрос,нажмем кнопку Создать. С помощью команд верхнего меню Вид / Имена макросов включим дополнительный столбец Имя макроса. Введем туда в первой строке слово Поиск. В колонкеМакрокоманда с помощью кнопки выберем макрокоманду КЭлементуУправления (кнопка вызывается щелчком левой кнопки мыши по строке в указанном столбце). В области Аргументы макрокоманды в нижней части окна в качестве Имени элемента введем текст [Наименование] (в этом поле таблицы ТОВАР будет искаться товар с указанным именем). Во второй строчке во втором столбце Макрокомандавыберем из списка макрокоманд команду НайтиЗапись. В аргументах макрокоманды введем с клавиатуры в поле Образец поиска текст =[Поиск] (т.е. будет разыскиваться в поле Наименованиетаблицы ТОВАР запись, начало названия товара в которой совпадает с введенным в поле Поискзначением). В поле Совпадение выберем из списка элемент С начала поля. Остальные элементы оставим без изменения. В третьей строке во втором столбце выберем снова макрокомандуКэлементуУправления, в аргументах макрокоманды для Имени элемента введем [Поиск]. Квадратные скобки нужно везде, где указано, вводить обязательно!

      Созданный нами макрос будет работать следующим образом. Вначале выбирается поле Наименованиетаблицы ТОВАР для организации поиска. Затем по образцу из поля Поиск формы осуществляется поиск первой по порядку нужной нам записи. Затем фокус опять передается в поле Поиск для возможного продолжения поиска.

      Закроем макрос и сохраним его с именем “Поиск товара”. Теперь опять откроем форму товар и перетащим туда макрос “Поиск товара”. Появится кнопка с соответствующей подписью. Для поиска товара нужно ввести первые буквы названия товара, нажать кнопку “Поиск”, будет найдена нужная запись (если она существует). Обратите внимание, то если ничего не вводить в окне Поиск, то при нажатии кнопки будет выдано сообщение об ошибке! В СУБД Access существуют способы обработки подобных ситуаций – макросы с условиями, но мы их рассматривать не будем.

      Но таким образом можно найти лишь первую запись на введенную букву. Нетрудно организовать еще одну кнопку “Поиск далее”. Для этого сделаем копию макроса “Поиск товара” через буфер обмена с помощью пунктов меню Правка / Копировать и Вставить и назовем его “Поиск далее”С помощью конструктора изменим в новом макросе в аргументе строки НайтиЗапись свойство Первое вхождение сДа на Нет, Область поиска – Вниз. Теперь перетащим новый макрос в режиме конструктора в форму “Товар”. Теперь будет идти поиск и последующих записей с тем же началом в поле Наименование.

      Задание 2

      1. Создать в форме “Покупатель” аналогичные кнопки для поиска покупателя по началу фамилии.

      2. Создать в форме «Заказ» кнопку поиска записей, имеющих совпадающую с вводимой в специальном поле дату.

Меню сайта
Вход на сайт
Поиск
Календарь
«  Ноябрь 2024  »
ПнВтСрЧтПтСбВс
    123
45678910
11121314151617
18192021222324
252627282930
Друзья сайта
  • ГОУСПОТО "БМТ"
  • ЦОР
  • Сообщество uCoz
  • Статистика

    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0
    helenakosinova@ya.ru © 2024