Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Access_pdf.pdf
Скачиваний:
29
Добавлен:
13.03.2015
Размер:
592.96 Кб
Скачать

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

Для доступа к модулю выполните следующие действия:

Чтобы создать стандартный модуль, выберите вкладку МОДУЛИ в окне базы данных и нажмите кнопку СОЗДАТЬ. Чтобы открыть существующий стандартный модуль, выберите вкладку МОДУЛИ, далее модуль, который следует открыть, и нажмите кнопку КОНСТРУКТОР.

Чтобы открыть модуль формы или модуль отчета, для выбранной формы или отчета нажмите кнопку на панели инструментов или выполните

команду Вид/Программа.

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

ки панели инструментов .

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

Чтобы создать процедуру обработки события в режиме конструктора, откройте окно свойств формы, отчета, раздела или нужного элемента управления. Выберите вкладку СОБЫТИЯ, нажмите на кнопку построителя для нужного события и выберите в списке элемент ПРОГРАММЫ.

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

Для ссылки на свойство формы или отчета в тексте программы используется следующий синтаксис:

Forms![ИмяФормы].Свойство

Синтаксис ссылки на элемент управления формы или отчета аналогичен: Forms![ИмяФормы].[ЭлементУправления] Forms![ИмяФормы].[ЭлементУправления].Свойство

Внутри модуля формы или отчета при ссылке на элемент управления имя формы можно не указывать, если элемент находится в этой же форме или отчете. Для ссылки на активную форму или отчет используется также ключевое слово Me (латинские буквы!). Например, Me.ПолеФирмы.Text.

Упражнение 8

1)Создайте функцию Tax_Sale (X), которая для заданного значения аргумента вычисляет налог с продаж так, как указано в запросе 3_7. Проверьте работу функции, создав новую версию запроса 3_7.

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

Public Function Tax_Sale(X) If X < 10000 Then

Tax_Sale = 0.05 * X

51

Else

Tax_Sale = 0.1 * X End If

End Function

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

2)Создайте форму для параметрического запроса Запрос2_10, в которой значение параметра нужно не вводить, а выбирать из списка.

Создайте вспомогательную форму для выбора названия фирмы из списка. На форму поместите элемент поле со списком и две кнопки.

Установите свойства формы:

Подпись

Выбор фирмы

Тип границы

Окна диалога

Полосы прокрутки

Отсутствуют

Область выделения

Нет

Поле номера записи

Нет

Разделительные линии

Нет

Всплывающее окно

Да

Модальное окно

Да

Форма для выбора названия

фирмы

Измените свойства кнопок:

 

 

 

Первая кнопка

 

 

Вторая кнопка

Имя

ОК

 

Имя

Отмена

Подпись

ОК

 

Подпись

Отмена

По умолчанию

Да

 

Отмена

Да

У элемента поле со списком установите свойства:

Имя

 

ПолеФирмы

 

Источник строк

SELECT Фирмы.Название FROM Фирмы;

Для указания значения свойства «Источник строк» воспользуйтесь построителем выражений в этом поле.

Созданная форма должна иметь вид, приведенный на рисунке Создайте с помощью мастера форму для запроса Запрос2_10. Скопируйте

эту форму под именем Запрос2_10_Выбор. Свойство «Источник записей» сделайте пустым.

Добавьте в модуль формы Запрос2_10_Выбор обработку события «Загрузка (Load)». Оно возникает при открытии формы и выводе на экран ее записей. В этот момент нужно определить, для какой фирмы показать информацию.

52

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

'Form_Запрос2_10_Выбор: модуль класса Option Compare Database

Option Explicit

Private Sub Form_Load()

DoCmd.OpenForm "Выбор_фирмы", , , , , acDialog

End Sub

Методы объекта DoCmd (Команда), позволяют запускать макрокоманды Microsoft Access из программ VBA. В нашем примере он используется для открытия (OpenForm) и закрытия (Close) формы.

В модуле формы Выбор_фирмы требуется написать процедуры обработки события Нажатие кнопки (Click) для кнопок ОК и Отмена. Текст модуля приведен ниже.

Значение свойства «RecordSource» (Источник данных) определяет данные, выводимые на форме. В данном случае используется инструкция SQL. Её можно скопировать из запроса Запрос2_10 и изменить последнюю строку. Синтаксис VBA требует, чтобы текстовая информация была заключена в кавычки

("). Так как получается очень длинная строка, она разделена на «кусочки», для «склеивания» которых используется операция конкатенации (символ &). Полученное выражение располагается в программе на нескольких строках, поэтому в конце каждой такой строки стоит символ продолжения ( _ ). Это тоже требование синтаксиса VBA. Переменная ПолеФирмы.Text во время выполнения программы будет содержать название выбранной фирмы. Поэтому в форму будут загружены данные только для нужной фирмы.

'Form_Выбор_фирмы: модуль класса Option Compare Database

Option Explicit

Private Sub ОК_Click() ПолеФирмы.SetFocus

Forms![Запрос2_10_Выбор].RecordSource = _

"SELECT Склады.НомерСклада, Склады.Адрес, " & _ "Склады.Телефон " & _

"FROM Фирмы INNER JOIN Склады " & _

"ON Фирмы.КодФирмы = Склады.КодФирмы " & _ "WHERE Фирмы.Название = ' " & ПолеФирмы.Text & " ' "

DoCmd.Close acForm, "Выбор_фирмы", acSaveNo End Sub

Private Sub Отмена_Click()

53

DoCmd.Close acForm, "Выбор_фирмы", acSaveNo

 

DoCmd.Close acForm, "Запрос2_10_Выбор", acSaveNo

 

End Sub

 

Оглавление:

 

1. Основные понятия теории баз данных..............................................

3

2. Система управления базами данных MS Access..............................

5

2.1 Архитектура MS Access................................................................

5

2.2 Импорт данных..............................................................................

6

3. Проектирование базы данных............................................................

7

4. Пример проектирования БД.............................................................

11

5. Создание новой (пустой) базы данных...........................................

13

5.1 Создание таблицы в режиме конструктора..............................

13

5.2 Работа с данными таблицы.........................................................

19

5.3 Просмотр данных в виде формы................................................

19

5.4 Добавление записей с помощью формы...................................

20

5.5 Поиск и замена данных...............................................................

20

5.6 Сортировка данных.....................................................................

20

5.7 Фильтрация данных....................................................................

20

Упражнение 1...................................................................................

21

6. Создание запросов.............................................................................

23

6.1 Создание запросов на выборку..................................................

24

6.2 Запрос с параметром (параметрический запрос)......................

25

6.3 Перекрестный запрос..................................................................

25

Упражнение 2...................................................................................

26

6.4 Вычисляемые поля в запросах...................................................

27

6.5 Итоговые запросы.......................................................................

29

Упражнение 3...................................................................................

30

7. Модификация данных с помощью запросов..................................

31

7.1 Запрос на создание таблицы.......................................................

31

7.2 Запрос на обновление.................................................................

31

7.3 Запрос на добавление записей...................................................

32

7.4 Запрос на удаление записей.......................................................

32

Упражнение 4...................................................................................

32

Самостоятельная работа..................................................................

33

8. Создание запросов с использованием языка SQL..........................

34

8.1 Синтаксис инструкции SELECT в MS Access..........................

34

8.2 Предложение FROM...................................................................

35

8.3 Предложение GROUP BY...........................................................

37

8.4 Предложение HAVING...............................................................

37

8.5 Предложение ORDER BY...........................................................

38

8.6 Инструкция SELECT...................................................................

38

8.7 Подчиненный запрос (вложенная выборка).............................

39

Упражнение 5...................................................................................

39

9. Создание форм и отчетов.................................................................

40

54

9.1 Создание формы..........................................................................

40

9.2 Формы для связанных таблиц....................................................

41

9.3

Создание элементов формы или отчета....................................

42

9.4

Добавление вычисляемых выражений в формы и отчеты......

45

9.5

Применение условного форматирования..................................

45

Упражнение 6...................................................................................

45

9.6

Создание отчета...........................................................................

47

Упражнение 7...................................................................................

49

10. Использование VBA для автоматизации работы в MS Access...

50

Упражнение 8...................................................................................

51

Рекомендуемая литература

1.Дж. Вейскас Эффективная работа с MS Access 2000. Санкт-Петербург: «Питер», 2001.

55

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]