Павел Дубнов - Access 2002: Самоучитель
- Название:Access 2002: Самоучитель
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:неизвестен
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Павел Дубнов - Access 2002: Самоучитель краткое содержание
В книге рассматривается широкий круг вопросов, связанных с использованием программной среды Access 2002, которая является составной частью пакета Office 2002 и предназначена для создания банка данных в самых различных предметных областях.
Подробно описывается методика проектирования объектов базы данных (таблицы, формы, отчеты, страницы доступа к данным, запросы, модули).
Детально обсуждаются вопросы создания интегрированной базы данных в единой среде Access 2002: формирование БД с нуля, конвертирование в программную среду баз данных, созданных в ином программном окружении – Clarion, FoxPro.
Особое внимание уделяется формированию разнообразных запросов к интегрированной базе данных Access 2002 с использованием языков программирования SQL, VBA и макросов.
Приводятся общие сведения о возможностях языка обмена данными между различными компьютерами и приложениями (XML). Описываются возможности использования гиперссылок, связывающих базу данных с другими программными продуктами. Объясняется, как можно работать с базой данных Access 2002 без установки ее на компьютер, используя технологию ODBC (Open Data Base Connectivity). В приложениях приводятся количественные параметры Access 2002 и связанная с этой СУБД терминология.
Предлагаемая книга будет полезна специалистам, занимающимся практической разработкой банков данных и приложений на их основе, а также студентам вузов, изучающим информатику.
Access 2002: Самоучитель - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
Private Sub Form_Open(Cancel As Integer)
On Error GoTo Err_Form_Open
Dim Cod As Integer
DoCmd.RunMacro «Макрос1»
Cod = DMax(«[Код Фирмы]», «Фирмы») + 1
Forms![Фиpмы]![Koд фирмы] = [Cod]
DoCmd.RunMacro «Макрос14»
Exit_Form_Open:
Exit Sub
Err_Form_Open:
MsgBox Err.Description
Resume Exit_Form_Open
End SubЕсли вы теперь откроете форму Фирмы,то обнаружите, что она сразу открывается на последней записи, которая еще пуста (рис. 12.14). Ее код уже установлен, а курсор находится в поле Название фирмы.Таким образом, форма готова к вводу новой информации. (Не будь написанной и выполненной процедуры, форма открылась бы на первой записи.)
Рис. 12.14Удаление записи с установкой на последнюю запись
В каждой форме базы данных Контрольно-измерительные приборысозданы две дополнительные кнопки: Изменить записьи Удалить запись(см. рис. 12.15).
Рис. 12.15
В этом разделе будет рассмотрена процедура, на которой основано действие кнопки Удалить запись.
В принципе удаление записи – совершенно рутинная операция. Она выполняется штатными средствами Access и не заслуживает особого внимания. Если в нашем случае для нее предусмотрена специальная кнопка, то лишь потому, что есть и вторая часть задачи – установка на последнюю запись. Это значит, что в программу следует добавить некоторые новые функции, чтобы показать новые возможности при использовании процедуры. Покажем это на примере формы Назначение.Как и во всех предыдущих случаях, выполнение процедуры привязано к событию Щелкнуть по кнопкев таблице свойств кнопки Командная кнопка– см. рис. 12.16. Далее следует выбрать опцию Удалить запись.
Рис. 12.16Как и раньше, с помощью кнопки
откройте окно модуля. Оно выглядит так же, как аналогичное окно, показанное на рис. 12.6. Процедура опять будет формироваться в окне модуля, но и на сей раз речь пойдет только о текстовых операторах.
Первые этапы работы уже хорошо вам знакомы: автоматическая вставка обрамляющих операторов, ввод операторов обработки ошибок и определение переменной Cod. Вот результат ваших трудов:Private Sub Удалить_запись_Click()
On Error GoTo Err_Назначение_Удалить_запись_Click
Dim Cod As Integer
…………………… Err_Назначение_Удалить_запись_Click:
MsgBox Err.Description
Resume Exit_Назначение_Удалить_запись_Click
End SubДалее вы блокируете вывод любых информационных сообщений, кроме сообщений об ошибках. Эту функцию выполняет программа МакросЗ (см. рис. 12.17). Чтобы запустить ее, выполните команду Установить сообщение,но в поле Аргументы командыукажите значение Нет,что и позволит блокировать вывод сообщений. Данная опция используется, когда пользователь не хочет, чтобы выполнение макроса прерывалось ради появления окон предупреждений. Однако сообщения об ошибках выводятся в любом случае. Кроме того, Microsoft Access выводит на экран все диалоговые окна, которые требуют от пользователя действий более сложных, чем щелчок по кнопке: например, когда надо ввести какой-либо текст или выбрать параметр из списка.
Рис. 12.17Макрос9 производит основную операцию – удаление записи. После этого выполняется цикл. Рассмотрим его подробнее.
При активной работе с БД может оказаться, что в какой-либо форме есть не одна, а несколько пустых записей. Например, вы нечаянно или с определенной целью не ввели в новую запись никаких данных, однако и не удалили ее. Щелкнув по кнопке Удалить запись,вы восстановите порядок, и все пустые записи будут уничтожены. Когда вы снова активизируете форму, она откроется на пустой записи, готовой к вводу информации.
Цикл имеет следующий синтаксис:A:
DoCmd.RunMacro «Макрос7»
If IsNull(Forms![Hазначение]![Hазначение] = "") = True Then
DoCmd.RunMacro «МакросЗ»
DoCmd.RunMacro «Макрос9»
GoTo A
Else
End IfПрограмма Макрос7 осуществляет переход к последней записи. Затем уже знакомая нам логическая конструкция Then… If…Else (Если…То…Иначе) проверяет утверждение Forms![Hазначение]![Hазначение] = "". Иными словами, вы уточняете, есть ли в поле Назначениеодноименной формы пустая строка. Проверка выполняется с помощью функции IsNull (), которая возвращает значение типа Boolean. Оно показывает, является ли результатом выражения пустое значение (Null). Синтаксис функции:
IsNull(выражение)
Итак, функция IsNull возвращает True (Истина), если выражение имеет значение Null, в противном случае – False (Ложь). Предположим, результатом проверки будет True: в записи обнаружена пустая строка. Тогда с помощью программы Макрос7 блокируется вывод сообщения, а оператор Макрос9 удаляет эту запись и осуществляет переход на метку А. Она повторяет описанные процедуры для следующей пустой записи, и так продолжается до тех пор, пока не выяснится, что подобных записей больше нет. Тогда цикл заканчивается и начинает выполняться следующая группа операторов:
DoCmd.RunMacro «Макрос1»
Cod = DMax(«[Kод]», «Назначение») + 1
Forms![Hазначение]![Kод] = [Cod]
DoCmd.RunMacro «Макрос29»Приведенный набор команд задает установку на последнюю пустую запись и определяет соответствующее значение для ее кода. (Подробно все это рассматривалось в предыдущем разделе.) Вот полный текст процедуры:
Private Sub Удалить_запись_Click()
On Error GoTo Err Назначение Удалить_запись_Click
Dim Cod As Integer
DoCmd.RunMacro «МакросЗ»
DoCmd.RunMacro «Макрос9»
A:
DoCmd.RunMacro «Макрос7»
If IsNull(Forms![Hазначение]![Hазначение] = "") = True Then
DoCmd.RunMacro «МакросЗ»
DoCmd.RunMacro «Макрос9»
GoTo A
Else
End If
DoCmd.RunMacro «Макрос1»
Cod = DMax(«[]», «Назначение») + 1
Forms![Hазначение]![Kод] = [Cod]
DoCmd.RunMacro «Макрос29»
Exit_Назначение_Удалить_запись_Click:
Exit Sub
Err_Назначение_Удалить_запись_Click:
MsgBox Err.Description
Resume Exit_Назначение_Удалить_запись_Click
End SubРезюме
1. В этой главе были рассмотрены основные положения языка программирования VBA, который стал стандартным средством макропрограммирования для различных приложений.
2. Сфера приложения VBA практически безгранична. В качестве примера в этой главе выбрано «обустройство» собственно базы данных – обеспечение удобства работы с ней для пользователя. Обычно у каждого пользователя свои взгляды на то, что удобно, а что нет, и нередко сервис базы данных приходится дорабатывать.
3. Обращение к VBA оправдано тогда, когда средства, заложенные в Access, либо не позволяют добиться нужного результата, либо предлагают сложное и громоздкое решение.
4. В качестве конкретных примеров использования языка VBA в настоящей главе рассмотрены:
– предупреждение дублирования записей при их вводе с помощью формы;
– установка на последнюю запись при открытии формы;
– удаление записи с дальнейшей установкой на последнюю запись.
Приложение 1 Количественные характеристики объектов Access 2002
Таблица П1.1.
Читать дальшеИнтервал:
Закладка: