- •2.2.2 Импорт данных из электронных таблиц, созданных в MS Excel
- •Тип данных
- •Использование
- •5.4Добавление записей с помощью формы
- •5.5Поиск и замена данных
- •Упражнение 1
- •6.1Создание запросов на выборку
- •6.2Запрос с параметром (параметрический запрос)
- •Упражнение 2
- •Упражнение 3
- •7.3Запрос на добавление записей
- •7.4Запрос на удаление записей
- •Упражнение 4
- •Самостоятельная работа
- •8.3Предложение GROUP BY
- •Упражнение 5
- •9.Создание форм и отчетов
- •9.1Создание формы
- •9.2Формы для связанных таблиц
- •9.5Применение условного форматирования
- •Упражнение 6
- •Упражнение 7
- •10.Использование VBA для автоматизации работы в MS Access
- •Упражнение 8
- •Подпись
В стандартных модулях содержатся общие процедуры, не связанные ни с каким объектом, а также часто используемые процедуры, которые могут быть запущены из любого окна базы данных.
Для доступа к модулю выполните следующие действия:
∙Чтобы создать стандартный модуль, выберите вкладку МОДУЛИ в окне базы данных и нажмите кнопку СОЗДАТЬ. Чтобы открыть существующий стандартный модуль, выберите вкладку МОДУЛИ, далее модуль, который следует открыть, и нажмите кнопку КОНСТРУКТОР.
∙Чтобы открыть модуль формы или модуль отчета, для выбранной формы или отчета нажмите кнопку на панели инструментов или выполните
команду Вид/Программа.
Окно свойств удобно открывать с помощью контекстного меню или кноп-
ки панели инструментов .
Процедура обработки события – процедура, автоматически выполняемая в ответ на событие, возникающее в результате действий пользователя, выполнения программы или генерируемое системой.
Чтобы создать процедуру обработки события в режиме конструктора, откройте окно свойств формы, отчета, раздела или нужного элемента управления. Выберите вкладку СОБЫТИЯ, нажмите на кнопку построителя для нужного события и выберите в списке элемент ПРОГРАММЫ.
При создании первой процедуры обработки события для формы или отчета автоматически создается связанный с ней модуль формы или отчета.
Для ссылки на свойство формы или отчета в тексте программы используется следующий синтаксис:
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