Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Задания_заоч / Лабораторные / Лаб раб 14 Программирование в MS Access часть 4

.doc
Скачиваний:
61
Добавлен:
21.05.2015
Размер:
52.74 Кб
Скачать

Семенова И.И. БД. - 4 -

Программирование в MS Access. Часть 4.

DoCMD

Методы, определенные для объекта DoCmd (команда), позволяют запускать макрокоманды Microsoft Access из программ Visual Basic. С помощью макрокоманд выполняют такие действия как закрытие окон, открытие форм и задание значений элементов управления. Например, метод OpenForm объекта DoCmd позволяет открыть форму.

Большинство из методов, определенных для объекта DoCmd, имеют аргументы, некоторые из которых являются обязательными, а другие необязательными. Если необязательный аргумент опущен, то при выполнении макрокоманды подразумевается значение данного аргумента по умолчанию. Например, метод OpenForm использует семь аргументов, но только первый из них, имяФормы, является обязательным. Следующий пример демонстрирует конструкцию, открывающую форму «Сотрудники» из текущей базы данных, причем отбираются только записи о сотрудниках, имеющих должность «Торговый агент».

DoCmd.OpenForm "Сотрудники", , ,"[Должность] = 'Торговый агент'"

Пример:

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

Sub ShowNewRecord()

DoCmd.OpenForm "Сотрудники", acNormal

DoCmd.GoToRecord , , acNewRec

End Sub

Обзор методов DoCmd

1. Закрытие объекта

Примеры:

Закрыть активное окно:

DoCmd.Close

Закрыть указанную форму с сохранением данных без подтверждения:

DoCmd.Close acForm, "Товары", acSaveYes

Закрыть указанный отчет:

DoCmd.Close acReport, "Товары"

Закрыть указанную таблицу:

DoCmd.Close acTable, "Товары"

Задание 1. На форме ФормаКлиенты отключить свойство Кнопка закрытия программно в событии Открытие (Open), добавить в раздел Примечание свою кнопку с названием Выйти из формы, которая закрывала бы форму с выводом сообщения о подтверждении сохранения изменений.

2 Найти запись по условию:

Метод FindRecord выполняет макрокоманду НайтиЗапись (FindRecord) в программе Visual Basic.

DoCmd.FindRecord образец [, совпадение] [, регистр] [, поиск] [, формат] [, текущееПоле] [, сНачала]

Примеры:

Задание.

3. Найти следующую запись

DoCmd.FindNext

Макрокоманда СледующаяЗапись (FindNext) находит следующую запись, удовлетворяющую условиям, указанным в предыдущей макрокоманде НайтиЗапись (FindRecord) или в диалоговом окне Поиск в поле

, открывающемся командой Найти из меню Правка. Макрокоманда СледующаяЗапись (FindNext) позволяет выполнять повторный поиск записей. Например, можно последовательно просмотреть все записи со сведениями о конкретном клиенте.

4. Перейти на указанную запись

Метод GoToRecord выполняет макрокоманду НаЗапись (GoToRecord) в программе Visual Basic.

DoCmd.GoToRecord [типОбъекта, имяОбъекта] [, запись] [, смещение]

Примеры:

В данном примере метод GoToRecord делает текущей записью седьмую запись в форме «Сотрудники»:

DoCmd.GoToRecord acDataForm, "Сотрудники", acGoTo, 7

Перейти на первую запись текущего объекта

DoCmd. GoToRecord , , acFirst

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

DoCmd. GoToRecord , , acLast

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

DoCmd. GoToRecord , , acNext

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

DoCmd. GoToRecord , , acPrevious

Перейти на новую запись текущего объекта

DoCmd. GoToRecord , , acNewRec

Задание. Сделать вручную без мастера кнопки перехода по записям. На форму ФормаКлиенты добавить 4-е кнопки без мастера, переименовать их, присвоить событиям Нажатие кнопки соответствующие команды переходов по записям. У формы отключить свойство Кнопки перехода. Запустить форму, проверить работу кнопок.

5. Развернуть, свертуть объект

Макрокоманда Развернуть (Maximize) увеличивает размеры активного окна до размеров окна Microsoft Access.

DoCmd.Maximize

Макрокоманда Свернуть (Minimize) свертывает активное окно в маленький значок в нижней части окна Microsoft Access.

DoCmd.Minimize

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

DoCmd.Restore

Задание. На форму

6. Открыть объект

Открыть форму.

DoCmd.OpenForm имяФормы [, режим] [, имяФайла] [, условиеWhere] [, режимДанных] [, режимОкна] [, аргументыОткрытия]

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

Примеры:

Задание.

Открыть запрос.

Макрокоманда ОткрытьЗапрос (OpenQuery) открывает запрос на выборку или перекрестный запрос в режиме таблицы, в режиме конструктора или в режиме предварительного просмотра. Эта макрокоманда запускает запрос на изменение. Кроме того, данная макрокоманда позволяет указать для запроса режим ввода данных.

DoCmd.OpenQuery имяЗапроса [, режим] [, режимДанных]

Примеры:

Задание.

Открыть отчет.

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

DoCmd.OpenReport имяОтчета [, режим] [, имяФайла] [, условиеWhere]]

Примеры:

Задание.

Открыть таблицу.

Макрокоманда ОткрытьТаблицу (OpenTable) открывает таблицу в режиме таблицы, в режиме конструктора или в режиме предварительного просмотра. При этом допускается выбор режима ввода данных в таблицу.

DoCmd.OpenTable имяТаблицы [, режим] [, режимДанных]

Примеры:

Задание.

7. Экспорт данных в другие форматы приложений

Макрокоманда ВывестиВФормате (OutputTo) выводит данные, содержащиеся в указанном объекте базы данных Microsoft Access (таблице, форме, отчете или модуле) в файл в формате Microsoft Excel 97 (*.xls), в текстовом формате MS-DOS (*.txt) или в формате RTF (*.rtf). Также возможен вывод в файл формата HTML (*.html), в файлы формата Microsoft Internet Information Server (*.htx, *.idc) или в файл в формате страниц Microsoft ActiveX Server (*.asp). Совместно с Microsoft Personal Web Server допускается использование файлов в формате Microsoft Internet Information Server.

DoCmd.OutputTo типОбъекта [, имяОбъекта] [, форматВывода] [, имяФайла] [, автозагрузка][, файлШаблона]

Примеры:

В данном примере отчет «Сотрудники» выводится в файл, имя которого нужно будет указать, и он немедленно открывается в Microsoft Excel:

DoCmd.OutputTo acOutputReport, "Сотрудники", acFormatXLS, , True

Задание.

8. Выход из MS Access

Макрокоманду Выход (Quit) используют для выхода из Microsoft Access. При этом допускается выбор параметров сохранения объектов базы данных.

DoCmd.Quit [параметры]

Пример:

Выйти из Microsoft Access с предварительным вопросом о подтверждении сохранения изменений в БД.

DoCmd.Quit acQuitPrompt

Задание.

9. Обновление объекта

Макрокоманда ОбновитьОбъект (RepaintObject) завершает все отложенные операции обновления указанного объекта базы данных или активного объекта базы данных (по умолчанию). При необходимости, выполняется пересчет значений элементов управления в этом объекте.

DoCmd.RepaintObject [типОбъекта, имяОбъекта]

Пример:

В данном примере обновляется форма «Клиенты»:

DoCmd.RepaintObject acForm, "Клиенты"

Задание.

10. Обновление данных объекта

Макрокоманда Обновление (Requery) обновляет данные в указанном элементе управления в активном объекте путем повторного просмотра источника данных этого элемента управления. Если элемент управления не указан, эта макрокоманда задает повторный просмотр источника самого объекта. Данная команда обеспечивает отображение текущих данных в объекте или в элементе управления.

DoCmd.Requery [имяЭлемента]

Примеры:

Обновление поля с названием Поле1 текущей формы, в которой выполняется команда

DoCmd.Requery "Поле1"

Обновление данных текущей формы, в которой выполняется команда

DoCmd.Requery

Задание.

11. Запуск встроенных команд меню программно

Метод RunCommand выполняет команду встроенного меню или встроенной панели инструментов. Список обозначений всех команд менб смотрите в Help.

DoCmd.RunCommand команда

Примеры:

Отменить последнее действие

DoCmd.RunCommand acCmdUndo

Выйти из MS Access

DoCmd.RunCommand acCmdExit

Задание.

12. Запуск SQL оператора

Макрокоманда ЗапускЗапросаSQL (RunSQL) запускает запрос на изменение Microsoft Access с помощью соответствующей инструкции SQL. Кроме того, эта макрокоманда позволяет запустить управляющий запрос.

С помощью этой команды удобно выполнять запросы на INSERT INTO, DELETE, UPDATE.

DoCmd.RunSQL инструкцияSQL[, использоватьТранзакцию]

Пример:

В форме ТоварыФорма есть поле с названием НаименованиеТовара. Необходимо во всей таблице Товары заменить этим наимегнованием старые, в которых ничего не было введено.

Dim str As string

Str =CStr (Forms!ТоварыФорма. НаименованиеТовара)

Docmd.RunSql "UPDATE Товары SET Товары.Наименование = ' " & Str & " ' WHERE " &_ Товары.Наименование = ' ' ;"

Задание.

13.Сохранение объектов

Макрокоманда Сохранить (Save) сохраняет либо указанный объект Microsoft Access, либо активный объект, если объект не указан. В некоторых случаях допускается сохранение активного объекта под новым именем (аналогично команде меню Сохранить как в меню Файл).

DoCmd.Save [типОбъекта, имяОбъекта]

Пример:

Сохранить активную форму с названием Товары копия

DoCmd.Save acForm, "Товары копия"

Сохранить текущий объект

DoCmd.Save

Задание.

14.Отключение всех фильтров

Макрокоманда ПоказатьВсеЗаписи (ShowAllRecords) удаляет любой фильтр, примененный к активной таблице, форме или результирующему набору записей запроса, и выводит все записи, содержащиеся в таблице или в наборе записей, отобранном в запросе, или же все записи из базовой таблицы или запроса формы.

DoCmd.ShowAllRecords

Задание.