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


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

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


Создание макроса, обеспечивающего переходот диалоговой работы

с базой данных к выводу отчетов

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

макрокоманды и ссылки на объекты, реализовать алгоритм с помощью условий и

ветвлений в макросе, организовать выполнение макроса.

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

уметь:

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

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


знать:

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

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

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

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

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

Пусть необходимо в сеансе ввода данных об успеваемости подготавливать и выводить отчеты о полученных студентами двойках и пятерках. Для накопления данных используются таблицы двоечник и отличник, которые включают поля нг (номер группы), нс(номер студента в группе), кп (код предмета) иФИО студента. Таблицы имеют составной ключ нг + нс + кп. Ключи в таблицах не позволяют повторно вводить записи с одинаковыми значениями ключа

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

Ввод данных о результатах экзаменов производится через форму ведомость успеваемости (рис. 1.)



Рис. 1. Форма для ввода данных об успеваемости

Основная часть формы отображает запись из таблицы ИЗУЧЕНИЕ, дополненную связанными данными из главных по отношению к ней таблиц предмет и ПРЕПОДАВАТЕЛЬ. Подчиненная форма (ее имя — УСПЕВАЕМОСТЬ) отображает связанные с таблицей ИЗУЧЕНИЕ записи из таблицы УСПЕВАЕМОСТЬ, дополненные фамилией студента. Подсхема данных, на которой строится форма, может быть выделена из общей схемы данных базы Учебный процесс.

1.Для решения -задачи создайте группу макросов Списки успеваемости (рис. 2), включающую макросы:

  • Начало, который будет открывать формы ДВОЕЧНИК и ОТЛИЧНИК, а также очищать таблицы перед формированием новых отчетов. Это позволит в очередном сеансе ввода данных в таблицу УСПЕВАЕМОСТЬ для одной или нескольких групп студентов по одному или нескольким предметам выдать отчеты для этих групп, а также использовать макрос при корректировках таблицы. Отчеты будут содержать данные только по результатам одного сеанса ввода.

• Формирование, который будет заполнять таблицы ДВОЕЧНИК иОТЛИЧНИК через соответствующие однозаписевые формы.

• Отчет, который будет распечатывать отчеты ДВОЕЧНИК и ОТЛИЧНИК по завершении ввода данных об успеваемости (отчеты созданы на основе соответствующих таблиц)



Рис. 2. Макрос формирования отчетов о двоечниках и отличниках при вводе оценок из экзаменационной ведомости.

2. В первом макросе с именем начало введите макрокомандыОткрыть Форму (OpenForm), которые используются для заполнения таблиц ДВОЕЧНИК иОТЛИЧНИК во втором макросе.

3. Непосредственно за макрокомандойОткрыть Форму (OpenForm) введите Выполнить Команду(RunCommand). Эта макрокоманда выполняет для текущего объекта команду стандартного меню, заданную ее аргументом. Выполнение этой макрокоманды эквивалентно выбору пользователем указанной команды в стандартном меню Access. Выберите в качестве аргумента команду SelectAliRecords (Выделить все записи). В качестве аргумента второй макрокомандыВыполнить Команду (RunCommand) выберите Delete(Удалить). Действия этих макрокоманд для открытой формы равносильны выполнению соответствующих команд в меню Правка (Edit).

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

4. Если формы не должны отображаться на экране, введите вслед за макрокомандамиВыполнить Команду (RunCommand) макрокоманду Свернуть (Minimize), применяемую к окну текущего объекта. Если вы хотите наблюдать синхронный процесс ввода данных и заполнения таблиц для отчета, можно не сворачивать формы, а дополнить макрос макрокомандами, определяющими размещение объектов на экране, чтобы получить удобное отображение всех форм.

5. Для выполнения макроса в момент, когда пользователь открывает форму Ведомость успеваемости, всвойства формы в строку события Открытие(OnOpen) введите имя макроса Cписки успеваемости. Начало. В результате этого макрос будет выполняться один раз в начале сеанса ввода данных.

6.Второй макрос Формирование анализирует введенную оценку и, в зависимости от результата, формирует новую запись в одной из таблиц Двоечники или Отличники. Он должен выполняться при обновлении поля оценка в записях формы ведомость успеваемости. Свяжите этот макрос со свойством события поля ОЦЕНКАПосле обновления (AfterUpdate), введя в строку свойства имя этого макроса Списки успеваемости.Формирование.

7. Чтобы начать формирование записи о двоечнике, введите макрокомандуНаЗапись (GoToRecord), которая позволит сделать текущей новую запись в форме ДВОЕЧНИК. Укажите в аргументе макрокоманды имя этой формы, а в аргументе Запись (Next) укажите, что текущей должна стать новая запись.

8. Следующие макрокоманды должны заполнить поля новой записи. Это позволяет сделатьмакрокомандаЗадать Значение (SetValue), которая присвоит полям новой записи формы двоечник значения из полей текущей записи формы Ведомость успеваемости. Аргумент макрокомандыЭлемент (Item) определяет поле, которому должно присваиваться значение. Аргумент Выражение(Expression) определяет поле, из которого выбирается это значение. Выражение не должно начинаться со знака равенства.

Замечание

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

9. В аргументе Элемент (Нет) запишитеForms!двоечник! [имя поля]. В первой макрокоманде укажите поле нг, в следующих — нс, кп и ФИО.

Замечание

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

10. Поскольку присваиваемые значения выбираются из полей текущей записи подчиненной формы УСПЕВАЕМОСТЬ подчиненная форма, вызывающей макрос, в аргументе Выражение(Expression) макрокомандЗадать Значение(SelValue), запишите только имена этих полей: нг, нс, кп и ФИО соответственно.

11. Запишите аналогичный набор макрокоманд для формирования записи об отличной оценке

12. Макрокоманды формирования записи о двоечнике должны выполняться только в том случае, если в поле ОЦЕНКА введена двойка. Макрокоманды формирования записи об отличной оценке - только если в поле ОЦЕНКА введена пятерка. Чтобы анализировать введенную в форме ведомость успеваемости оценку и, в зависимости от результата, формировать новую запись в одной из таблиц ДВОЕЧНИК ИЛИ ОТЛИЧНИК, организуйте выполнение различных макрокоманд в зависимости от результата проверки условия.

13. Прежде всего, дополните окно макроса столбцом Условие (Condition), нажав соответствующую кнопку на панели инструментов.

14. В строку первой макрокомандыНаЗапись(GoToRecord) в столбец Условие (Condition) введителогическое выражение [ОЦЕНКА] =2. Теперь, если выражение примет значение True (Истина), т. е. при вводе в поле оценка двойки, будет выполняться эта макрокоманда и все последующие, вплоть домакрокоманды с новым условием.

15. Чтобы при значении выражения False не выполнялась группа макрокоманд, формирующая запись о двойке, проставьте в столбце условий этих макрокоманд многоточие (...).

16. В строку второй макрокомандыНаЗапись (GoToRecord) в столбец Условие (Condition) введителогическое выражение [ОЦЕНКА] =5, а в других макрокомандах этой группы проставьте многоточие (...). Введенные в столбец условия позволят пропустить выполнение этих макрокоманд, если введенная оценка отличается от пятерки.

Заданные в макросе условия позволяют выполнить формирование записи при вводе в поле ОЦЕНКА двойки или пятерки. При вводе других оценок ниодна макрокоманда макроса не будет выполнена.



Рис. 3. Отчет об отличных оценках по введенным ведомостям успеваемости

17. Третий макрос Отчеты должен выполняться при закрытии пользователем формы ведомость успеваемости. Введите в свойствах формы в строке события Закрытие(OnClose) имя этого макроса: Списки успеваемости. Отчеты

18.Введите в этот макрос макрокомандыЗакрыть(Close) для форм ДВОЕЧНИК и ОТЛИЧНИК, выбрав в строке аргументов Сохранение (Save) значение Да (Yes). Выполнение этих макрокоманд позволит сохранить в таблице последнюю сформированную запись и таким образом не потерять ее в отчетах.

19.Для вывода отчетов на экран в режиме предварительного просмотра используйте макрокомандуОткрыть Отчет(OpenReport). Имя отчета и режим ее открытия укажите в аргументах макрокоманды. Если нет необходимости просматривать отчет, можно сразу получить печатный документ, установив в аргументе режим печати. Открытый для просмотра отчет будет oотображаться на экране до тех пор, пока пользователь не закроет его.

20. Для проверки макроса откройте форму ведомость успеваемости, введите новые записи, закройте форму. На экране отобразятся отчеты отличник и двоечник. На рис. 3 представлен отчет об отличных оценках, полученных студентами 101 группы по трем предметам.

Организация диалога в макросе

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

1.Используйте в качестве диалогового окна вспомогательную форму Диалог. Форму можно создать в режиме конструктора, не указывая источника записей, с единственным элементом - полем со списком значений. На рис. 4 представлена форма диалог, в которой поле со списком имеетимя Поле Со Списком0. В свойствах поля со списком задайте в строке Источник строк (RowSource) имена отчетов, выполнение которых может запросить пользователь, а также предусмотрите отказ от вывода отчетов

2.Измените группу макросов списки успеваемости, как показано на рис. 6. В макросе Отчет вместо макрокоманд вывода отчетов запишите макрокоманду открытия формы диалог.

Замечание

Выделение макрокоманд открытия отчетов в отдельный макрос Отчет! позволяет пользователю организовать работу с формой Диалог.



Рис. 4. Форма, включающая поле со списком значений



Рис. 5. Источники строк поля со списком значений в форме Диалог

  1. В макросе Отчет1 введите макрокоманды вывода отчетов и условия их выполнения.

Текстовые константы, с которыми сравниваются введенные значения, заключаются в кавычки.



Рис. 6. Макрос вывода выбранного пользователем отчета

4. В форме диалог для элемента поле Со Списком0 откройте окно свойств (рис. 7) и выберите в раскрывающемся списке После обновления (AfterUpdate) значение Списки успеваемости. Отчет1.



Рис. 7. Связь событияПосле обновления с макросом

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

6. Закройте форму и вы перейдете в режим отображения окна формы Диалог.

7. Для проверки работоспособности макроса отчет1 выберите в форме диалог одно из значений. Начнет выполняться макрос отчет1, в котором будет анализироваться введенное значение и, если задано такое условие, будет выведен отчет.

8. Для распечатки отчета в любое время откройте форму Диалог, выберите нужный отчет в списке, и макрос отчет1 выведет выбранный отчет на экран.

9. Для вывода вопросов о необходимости печатать отчеты можно использовать функцию MsgBox. Замените макрокоманды в макросе Отчет1, как показано на рис. 8.



Рис. 8. Использование функции в условии макрокоманды

10. Функция MsgBox () выведет на экран окно, содержащее сообщение, подождет, пока пользователь нажмет кнопку, и возвратит значение, указывающее, на какую кнопку нажал пользователь. Текст сообщения формируется первым аргументом функции, тип окна, число и названия кнопок — вторым аргументом, текст заголовка окна — третьим аргументом. Аргументы, заданные в примере, приводят к выводу окна, представленного на рис. 9



Рис.9.Окно сообщения, выводимое функцией MsgBox

ФункцияMsgBox возвращает значение 1 при нажатии в окне сообщения кнопки ОК и значение 2 при нажатии кнопки Отмена (Cancel).

Управление отображением элемента в форме

Пусть в форме Ведомость успеваемости при просмотре данных об оценках, полученных студентами, если в поле ОЦЕНКА обнаружено значение 2, то должен появляться текст Двоечник!.

1. Создайте в примечании подчиненной формы элемент управления Надпись со значением двоечник!. Предположим этот элемент имеет имя надпись 18.

Замечание

Только размещение надписи в примечании ленточной формы позволит отобразить ее однократно. Причем обеспечится связь ее с текущей записью ленточной формы

2. Свойству надписи Вывод на экран (Visible) присвойте значениеНет (No).

3. Создайте макрос, в котором свойству Вывод на экран (Visible) будет присваиваться значение Да (Yes) при просмотре записи с двойкой. Для этого включите в макрос столбец Условие (Condition). В этот столбец введите логическое выражение ОЦЕНКА=2. В столбце Макрокоманда (MacroCommand) выберите макрокомандуЗадатьЗначение (SetVaiue). В строку аргумента Элемент (Item) введите ссылку на свойство Visible (ВыводНаЭкран) элемента управления надпись 18:

Надпись 18. Visible;

В строку аргумента Выражение (Expression) введите значение этого свойства — Да (Yes).

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

4. Для того чтобы при переходе к записи с другой оценкой надпись двоечник! делалась невидимой, введите вторую макрокомандуЗадатьЗначение (SetVaiue). В условии этой макрокоманды введите ОЦЕНКА<>2, а в аргументе Выражение (Expression) в качестве значения свойства Visible укажитеНет (No) (рис. 10).

5. Сохраните макрос под именем Сигнал.

6. Для связи макроса с подчиненной формой УСПЕВАЕМОСТЬ подчиненная форма в окне ее свойств на вкладке События (Event) в раскрывающемся списке Текущая запись (OnCurrent) выберите имя макроса Сигнал.

7. Проверьте работоспособность макроса. Откроите форму ведомость успеваемости и, просматривая записи, убедитесь, что если в поле ОЦЕНКА стоит 2, то появляется надпись Двоечник!.



Рис. 10. Макрос, изменяющий значения свойств события

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

  1. Что означает макрокоманда Выполнить Команду?

  2. Что означает макрокоманда Свернуть?

  3. Что означает макрокоманда На Запись?

  4. Что означает макрокоманда Задать Значение?

  5. Что означает макрокоманда Открыть Отчет?

  6. Как проверить правильность работы макроса?

  7. Как организовать диалог в макросе?

  8. Текстовые константы, с которыми сравниваются введенные значения, заключаются в…?

  9. Что делает функция MsgBox ()?

  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

Поиск