Российской Федерации Старооскольский технологический институт им. А. А. Угарова


НазваниеРоссийской Федерации Старооскольский технологический институт им. А. А. Угарова
страница10/15
ТипПрактическая работа
1   ...   7   8   9   10   11   12   13   14   15

Практическая работа №9

Создание макроса для решения задачи, использующей запросы.


Цель работы: научиться создавать макрос, формировать макрокоманды, формировать ссылки на объекты, организовать выполнение макроса.

Студент должен:

уметь:

  • проектировать реляционную базу данных;

  • использовать язык запросов для программного извлечения сведений из баз данных;


знать:

  • основы теории баз данных; модели данных;

  • особенности реляционной модели и проектирование баз данных, изобразительные средства, используемые в ER-моделировании;

  • основы реляционной алгебры;

  • принципы проектирования баз данных, обеспечение непротиворечивости и целостности данных;

Теоретическая часть

Пусть необходимо рассчитать количество студентов в группах и внести эти данные в поле кол и таблице ГРУППА. Подсчет количества студентов реализован запросом Число студентов в группе. Обновление ноля кол на основе полученных вэтом запросе данных выполняет запрос обновление ГРУППА_КОЛ. Последовательное выполнение этих запросов решает поставленную: задачу.

Практическая часть

Создадим макрос, который последовательно выполнит эти запросы. Кроме того, включим в макрос макрокоманды, автоматизирующие действия пользователя по управлению объектами на экране при решении задачи и, в частности, действия, обеспечивающие отображение результатов решения задачи на экране в удобном виде.

1.Чтобы начать создание макроса, выберите в окне базы данных вкладку Макросы (Macros) и нажмите кнопкуСоздать(New). Откроется окно макроса.

2.Макрокоманды, составляющие макрос, вводятся в столбец Макрокоманда (Action). Для ввода макрокоманды нажмите кнопку раскрытия списка макрокоманд в этом столбце и выберите макрокомандуОткрыть Запрос(OpenQuery), чтобы выполнить первый запрос.

3. Выберите имя запроса число студентов вгруппе из списка в области Аргументы макрокоманды (ActionArguments) в нижней части окна макроса.

4.Введите в столбец Примечание (Comment) текст, описывающий результат выполнения макрокоманды, например, Создание таблицы с результатами подсчета числа студентов в группе.

5.Длявыполнения запроса обновление. ГРУППА_КОЛ введите следующую макрокомандуОткрыть Запрос (OpenQuery).Порядок размещения макрокоманд в бланке определяет последовательность их выполнения.

6. Для включения этой макрокоманды в макрос воспользуйтесь перемещением объектов с помощью мыши. В окне базы данных выберите запрос обновление ГРУППА_КОЛ и перетащите его в строку макрокоманды. Сформируется макрокомандаОткрытьЗапрос (OpenQuery), в аргументах которой автоматически сформируется имя открываемого запроса, режим отображения запроса и режим работы с егоданными (рис. 1)



Рис. 1. Макрокоманда, сформированная перетаскиванием запроса из окна базы данных

7.Сохраните макрос под именемРасчет числа студентов в группах, воспользовавшись кнопкой панели инструментов макросаСохранить (Save).

8. Выполните макрос, нажав кнопку Запуск (Run) панели инструментов

9. Во время выполнения макроса на экране отображаются предупреждающие сообщения, выдаваемые выполняющимися запросами. Для временного отключения вывода на экран окон сообщений дополните макрос макрокомандойУстановитьСообщения (SetWamings). В строке аргументаВключить сообщения (WarningsOn} выберите значение Нет(No) Для возобновления вывода сообщений после выполнения запросов следовало бы задать значение Да (Yes) Однако эту макрокоманду можно опустить, поскольку после прекращения выполнения макроса вывод предупреждений восстанавливается автоматически.

10.Организуйте вывод на экран таблиц ГРУППА и число студентов, чтобы сделать наглядным процесс работы макроса и обновления таблицы. Для этого допишите макрос, как показано на рис. 2. В представленном макросе не используются условия отбора, и макрокоманды выполняются последовательно одна за другой. Порядок их выполнения определяется



Рис. 2. Макрос задачи в режиме конструктора алгоритмов решения задачи

11.Закройте макрос и запустите его из окна базы данных, воспользовавшись кнопкой Запуск(Run).

12.Ход и результаты выполнения запроса по обновлению поля кол отображаются в выводимых на экран сообщениях и таблицах




Рис. 3. Результаты выполнения макроса после вывода второго сообщения

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

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

Ниже приведено назначение используемых в программе макрокоманд

Свернуть (Minimize) — позволяет свернуть окно, которое было активным в момент запуска макроса па выполнение. Если макрос запускается па выполнение из окна базы данных и, кроме этого окна, нет открытых окон, на экране будет отображено только свернутое окно базы

ОткрытьТаблицу(OpenTable) — открывает таблицу ГРУППА Имя таблицы и режим ее открытия укатываются аргументами макрокоманды. Открытая таблица ГРУППА будетОтображаться на экране до выполнения макрокоманды Закрыть (Close). Это позволит просмотреть содержимое таблицы до и после выполнения запросов.

СдвигРазмер(MoveSize) — позволяет задать размер и местоположение окна активного объекта. Выполнение макрокоманды после открытия таблицы изменяет параметры окна таблицы

Сообщение( MsgBos) — выдает сообщение, указанное в аргументах макрокоманды.

Восстановить (Resiure) — позволяет восстановить окно, свернутое перед решением задачи.

Установить Сообщения{SetWarnings) — отключает вывод на экран окон сообщении с предупреждениями па время выполнения макроса.

В рассматриваемом примере отключается вывод сообщений, выдаваемых ниже выполняемыми запросами. Для временного прекращения вывода предупреждений в строке аргументаВключить сообщения(WarningsOn) задается значение Нет (No) Для возобновления вывода сообщений следует задать значение Да (Yes). После прекращения выполнения макроса вывод предупреждений восстанавливается автоматически

Замечание

Допускается использование в макросе еще не созданных объектов. Например, в аргументе Имя Таблицы (TableName) макрокомандыОткрыть Таблицу (OpenTable) указано имя еще не существующей таблицы число студентов. Однако к моменту выполнения макрокоманды эта таблица должна быть создана в базе данных. В рассматриваемом примере таблица Число студентов создается запросом в ходе выполнения макроса до выполнения открывающей ее макрокоманды.

Макрос синхронной обработки данных двух форм

Рассмотрим, как с помощью группы макросов, которая запускается при инициировании пользователем события в одной форме, можно отфильтровать записи в другой форме.

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

Для решения задачи используем формы ПРЕДМЕТ и двоечники. Однотабличная однозаписеваяформа предмет была создана ранее. Она позволяет просматривать информацию о предметах. Форму Двоечники создайте на основе запроса, который выбирает из таблиц успеваемость и студент поля КП (код предмета), ФИО (студента), ОЦЕНКА и в котором для поля ОЦЕНКА,в строке Условие отбора записано значение 2. Форма отобразит список всех записей о двойках, полученных студентами по всем предметам. Обе формы имеют поле КП, содержащее код предмета

При работе с формой ПРЕДМЕТ Одновременно на экране должна открываться форма двоечники. Причем через эту форму должны отображаться только те записи, которые соответствуют выбранному пользователем предмету в форме ПРЕДМЕТ.

Создайте группу макросов с именем двоечники, включающую макрос M1 и макрос м2. Пусть макрос M1 выполняется при открытии формы ПРЕДМЕТ, открывает форму двоечники и определяет ее местоположение на экране Макрос М2 фильтрует записи о двоечникахпо значению поля КП, взятому из текущей записи формы ПРЕДМЕТ. Макрос должен выполняться, когда пользователь, работая в форме ПРЕДМЕТ, инициирует событие Вход для поля. Создание групп макросов позволяет объединить макросы, предназначенные для решения одной задачи, и упростить сопровождение приложения

1. Для создания макроса выберите в окне базы данных вкладку Макросы(Масros) и нажмите кнопкуСоздать (New).

2. Для того чтобы дополнить окно макроса столбцом, позволяющим создать группу макросов, щелкните на панели инструментов Конструктор макросов(MacroDesign) на кнопке Имена макросов (MacroNames).

3. Запишите макрокоманды макросов Mlи М2, как показано на рис 4, и сохраните группу макросов под именем двоечники. Это имя будет выводиться в списке макросов в окне базы данных.



Рис. 4. Макрос, организующий синхронный просмотр данных в двух формах.

4.Для запуска макроса M1 установите связь события Открытие (OnOpen) формы ПРЕДМЕТ с макросом. Откройте форму в режиме конструктора, щелкните на кнопке Свойства (Properties), на вкладке События (Event) а качестве значения свойства Открытие (OnOpen) выберите имя макроса Двоечники.M1

5. Для запуска макроса М2 установите в качестве значения свойства события Двойное нажатие кнопки(OnDblClick) элемента управления поля кп формы ПРЕДМЕТ значение Двоечники М2

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



Рис. 5. Окно свойств формы ПРЕДМЕТ со ссылкой на макрос в событии Открытие



Рис. 6. Окно свойств поля КП со ссылкой на макрос в событии Двойное нажатие кнопки

6. Чтобы проверить работу макросов, откройте форму ПРЕДМЕТ. На экране будет отображен результат работы Ml — Открытые формы Двоечники и ПРЕДМЕТ. Причем в форме двоечники отобразятся записи о двойках, полученных по всем предметам

7. Дважды щелкните на поле с кодом предмета в форме ПРЕДМЕТ. Результат выполнения макроса М2 отобразится на экране в виде, представленном на рис. 7. К форме двоечники был применен фильтр, в котором в качестве условий отбора записано. [Kп]=Forms! [предмет]! [кп], и теперь в ней отображаются только записи со значением кода предмета из формы ПРЕДМЕТ.

8. Чтобы макрос М2 выполнялся, когда пользователь, работая в форме ПРЕДМЕТ, устанавливает курсор в поле кп:

•Удалите связь макроса нг с событием Двойное нажатие кнопки (OnDblClick) для элементауправления кп

• Установите его связь с событием Вход (Enter) этого же элемента управления.

Событие Вход (Enter) наступает при перемещении курсора в поле кп, при переходе к другой записи, если текущим является поле кп. Кроме того, при открытии формы, наряду с событием Открытие (OnOpen), для текущего элемента управления формы наступает событие Вход (Enter). При открытии формы текущим элементом управления является поле, которое стоит первым всписке, определяющем последовательность перехода по полям при нажатии клавиши табуляции. Если па первом месте стоит поле кп, то оно будет текущим и для него наступит событие Вход (Enter). В результате при открытии формы выполнятся оба макроса.

Окно действие пользователя может приводить к возникновению нескольких событий. При этом важно знать последовательность наступления этих событий, т.к. это определяет и последовательность выполнения макросов.



Рис. 7. Результат выполнения макроса М2.

9.Просмотрите последовательность перехода по полям в форме ПРЕДМЕТ, выбрав команду Последовательность перехода (TabOrder) в контекстном меню формы или элемента управления. Если поле КП стоит на первом месте, переметите его ниже.



Рис. 8. В последовательности перехода поле КП сдвинуто на второе место

10.Откройте форму ПРЕДМЕТ и убедитесь, что при переходе от записи к записи синхронно отображаются соответствующие записи формы двоечники. Курсор должен оставаться в поле КП.

Контрольные вопросы

  1. Что такое макрос?

  2. Как создать макрос?

  3. Порядок размещения макрокоманд в бланке определяет…?

  4. Как запустить макрос?

  5. Как создать в форме кнопку запуска макроса?

  6. Какие используются в программе макрокоманды?

  7. Как отключить вывод сообщений?

  8. Что означает событие Двойное нажатие кнопки?

  9. Как проверить работу макроса?

  10. Что означает командаПоследовательность перехода?


1   ...   7   8   9   10   11   12   13   14   15

Похожие:

Российской Федерации Старооскольский технологический институт им. А. А. Угарова iconРоссийской Федерации Старооскольский технологический институт им. А. А. Угарова
Якунина М. И., преподаватель иностранного языка огапоу «Старооскольский педагогический колледж»

Российской Федерации Старооскольский технологический институт им. А. А. Угарова iconРоссийской Федерации Старооскольский технологический институт им. А. А. Угарова
Техническая эксплуатация и обслуживание электрического и электромеханического оборудования

Российской Федерации Старооскольский технологический институт им. А. А. Угарова iconРоссийской Федерации Старооскольский технологический институт им. А. А. Угарова
ПМ. 01 Документирование хозяйственных операций и ведение бухгалтерского учёта имущества организации

Российской Федерации Старооскольский технологический институт им. А. А. Угарова iconРоссийской Федерации Старооскольский технологический институт им. А. А. Угарова
Общие проблемы экологии: учебное пособие. – Старый Оскол: сти ниту «мисиС», 2015. – с

Российской Федерации Старооскольский технологический институт им. А. А. Угарова iconРоссийской Федерации Старооскольский технологический институт им. А. А. Угарова
Методические указания для студентов очной формы обучения по выполнению практических работ (заданий)

Российской Федерации Старооскольский технологический институт им. А. А. Угарова iconРоссийской Федерации Старооскольский технологический институт им. А. А. Угарова
Мдк. 02. 02. Управление проектами: учебное пособие. – Старый Оскол: сти ниту «мисиС», 2016. – 101 с

Российской Федерации Старооскольский технологический институт им. А. А. Угарова iconРоссийской Федерации Старооскольский технологический институт им. А. А. Угарова
...

Российской Федерации Старооскольский технологический институт им. А. А. Угарова iconРоссийской Федерации Старооскольский технологический институт им. А. А. Угарова
...

Российской Федерации Старооскольский технологический институт им. А. А. Угарова iconРоссийской Федерации Старооскольский технологический институт им. А. А. Угарова
ПМ. 02 Ведение бухгалтерского учёта источников формирования имущества, выполнение работ по инвентаризации имущества и финансовых...

Российской Федерации Старооскольский технологический институт им. А. А. Угарова iconРоссийской Федерации Бузулукский гуманитарно-технологический институт...
Методические указания предназначены для студентов факультета заочного обучения

Вы можете разместить ссылку на наш сайт:


Все бланки и формы на filling-form.ru




При копировании материала укажите ссылку © 2019
контакты
filling-form.ru

Поиск