
- •Введение
- •1. Создание базы данных средствами ms sql server
- •1.1. Структура базы данных
- •1.2. Создание баз данных в ms sql Server 2000
- •1.3. Создание таблиц базы данных в ms sql Server 2000
- •1.4. Типы данных в ms sql Server 2000
- •1.5. Управление пользователями
- •1.6. Способы обмена данными между Access и sql Server через odbc
- •1.7. Определение внешних источников данных в odbc
- •1.8. Связь с таблицами баз данных sql Server
- •1.9. Создание базы данных, таблиц, схемы данных средствами ms sql Server 2005
- •1.10. Обеспечение доступа к базе данных средствами ms sql Server 2005
- •1.11. Перенос базы данных на другой компьютер
- •1.12. Создание источника данных odbc и взаимодействие с приложением Access
- •2. Создание таблиц и схемы данных средствами субд access
- •2.1. Субд Microsoft Access
- •2.2. Объекты Access
- •Создание базы данных в Access 2003
- •Режимы создания таблиц базы данных в Access 2003
- •2.5. Создание таблицы в режиме Конструктор
- •2.6. Редактирование структуры таблицы
- •2.7. Создание и редактирование схемы данных
- •2.8. Ввод и редактирование данных
- •2.9. Создание базы данных, таблиц и схемы данных в Access 2007
- •Формы данных
- •3.1. Общие сведения о форме
- •3.2. Способы создания форм
- •3.3. Области и элементы формы в режиме Конструктор
- •3.4. Кнопки панели элементов
- •3.5. Создание однотабличной формы в режиме автоформы
- •3.6. Редактирование формы в режиме Конструктор
- •3.7. Создание составной формы
- •3.8. Ограничения доступа к данным через форму
- •3.9. Вычисления в форме
- •3.10. Создание форм в Access 2007
- •Запросы
- •Основы разработки запросов
- •Типы запросов
- •Создание запросов на выборку данных в режиме
- •Создание вычисляемого поля в запросе
- •4.5. Создание запроса с групповыми вычислениями
- •4.6. Создание параметрических запросов
- •4.7. Создание перекрестных запросов
- •4.8. Запрос на создание новой таблицы
- •4.9. Запрос на добавление записей
- •4.10. Запрос на удаление записей
- •4.11. Запрос на обновление записей
- •4.12. Создание запросов в Access 2007
- •5.1. Способы создания отчетов
- •Типы элементов управления
- •Создание надписей в отчете
- •Создание связных элементов (полей)
- •Создание вычисляемых элементов
- •Группирование записей в отчете
- •Создание отчета с помощью мастера отчетов
- •Создание отчета в режиме Конструктор
- •6. Заполнение полосы Верхний колонтитул.
- •7. Заполнение полосы Заголовок группы.
- •8. Заполнение полосы Область данных.
- •9. Заполнение полосы Примечание группы.
- •10. Заполнение полосы Нижний колонтитул.
- •11. Заполнение полосы Примечание отчета.
- •Экзаменационная ведомость Факультет Шифр группы Дисциплина
- •Списки групп
- •5.9. Создание отчетов в Access 2007
- •Создание макросов
- •6.1. Основы создания макросов
- •6.2. Формирование макрокоманд
- •6.3. Создание группы макросов
- •6.4. Использование условий в макросе
- •6.5. Создание макросов с использованием ссылок на объекты
- •6.6. Организация выполнения макроса
- •6.7. Выполнение макроса с наступлением события
- •6.8. Создание кнопки запуска макроса в форме
- •6.9. Пример создания макроса для решения задачи, использующей запросы
- •6.10. Пример создания макроса, работающего с данными нескольких объектов
- •Создание модулей
- •Общие сведения о языке vba
- •Модель объектов приложения Access
- •Модель объектов доступа к данным
- •Описание переменных
- •Операторы присваивания
- •Описание констант
- •Операторы управления выполнением программ
- •Операторы организации цикла:
- •Использование объекта Recordset
- •Выполнение процедур vba
- •7.10. Примеры модулей
- •Пример 3. Рассчитать суммарную поставку по каждому индексу товара в таблице поставка.
- •Пример 4. Создать новую таблицу Продукты из двух полей Индекс товара и Название, обеспечить ввод данных в эту таблицу.
- •Для решения задачи необходимо создать форму Поставщики_Города нижеследующего вида и связать с ней процедуру.
- •Пример 6. Открыть таблицу Товары, прочесть и вывести на экран все записи.
- •Пример 7. Выбор записей из таблицы Поставка для товара с кодом 123.
- •Пример 8. Выбор данных из связанных таблиц Товары и Поставка, связанных по индексу товара.
- •Пример 9. Выбор данных из трех связанных таблиц Товары, Поставщики и Поставка.
- •Пример 10. Поиск записей по наименованию товара (не ключевое поле) в таблице Товары и вывод найденных записей.
- •Пример 11. Поиск записей по дате поступления (не ключевое поле) в таблице Поставка и вывод найденных записей.
- •Пример 12. Поиск записей по индексу товара в таблице Товары и замена поля Розничная цена.
- •Пример 13. Поиск записей в таблице Товары для записей, где поле Розничная цена меньше заданной.
- •Управление приложением пользователя
- •Создание панели управления приложением с помощью диспетчера
- •Добавление рисунка в кнопочную форму
- •Создание кнопочной формы в режиме конструктора
- •Запуск Access с открытием приложения пользователя
- •Задания по разработке баз данных и приложений для работы с ними
- •Продажа бензина за ________________
- •6. Создать макросы
- •7. Создать модули
- •8. Создать панель управления приложением
- •4. Создать запросы.
- •Периодичность
- •Справка о продаже билетов
- •6. Создать макросы
- •7. Создать модули
- •8. Создать панель управления приложением
- •4. Создать запросы.
- •6. Создать макросы.
- •7. Создать модули.
- •8. Создать панель управления приложением.
- •4. Создать запросы.
- •Расписание работы
- •Список сотрудников
- •Список больных фио врача Дата посещения
- •6. Создать макросы
- •7. Создать модули
- •8. Создать панель управления приложением
- •Итоговая ведомость замен
- •6. Создать макросы
- •7. Создать модули
- •8. Создать панель управления приложением
- •4. Создать запросы.
- •5. Создать отчеты.
- •Факультет __________ Группа ______
- •Выдача книг
- •6. Создать макросы.
- •7. Создать модули.
- •8. Создать панель управления приложением.
- •4. Создать запросы.
- •5. Создать отчеты.
- •Список автомобилей
- •Список водителей
- •6. Создать макросы.
- •7. Создать модули.
- •8. Создать панель управления приложением
- •4. Создать запросы.
- •5. Создать отчеты.
- •Транзисторы
- •Справка о продаже транзисторов
- •6. Создать макросы.
- •7. Создать модули.
- •8. Создать панель управления приложением.
- •4. Создать запросы.
- •5. Создать отчеты.
- •Выпрямительные диоды
- •Закупка приборов
- •6. Создать макросы.
- •7. Создать модули.
- •8. Создать панель управления приложением.
- •4. Создать запросы.
- •5. Создать отчеты.
- •Сводная ведомость, дата
- •Справка о поставках мебели
- •6. Создать макросы.
- •7. Создать модули.
- •8. Создать панель управления приложением.
- •Библиографический список
- •Оглавление
Выполнение процедур vba
Существуют следующие способы вызова процедур VBA:
Включение программы в процедуру обработки события (например, программа запускается при щелчке по кнопке, находящейся в форме. Создание такой программы осуществляется следующим образом: в режиме конструктора форм отключают кнопку Мастера на панели элементов, затем создают кнопку (например, в области данных формы), открывают окно свойств созданной кнопки, выбирают вкладку События, выбирают событие Нажатие кнопки, щелкают по кнопке …, выбирают Программы, щелкают по кнопке ОК, при этом попадают в окно процедуры обработки события, где задают текст процедуры);
Вызов процедуры-функции в выражении;
Вызов процедуры в другой процедуре;
Выполнение макрокоманды ЗапускПрограммы (RunCode) в макросе. Данная макрокоманда может вызывать встроенную функцию VBA или функцию, созданную пользователем. Для запуска процедуры Sub надо создать функцию, которая вызывает процедуру Sub, и с помощью макрокоманды ЗапускПрограмм (RunCode) вызвать эту функцию.
Function FFF()
FF()
End Function
Процедура состоит из последовательности инструкций:
методы, применяемые к объектам базы данных;
команды для управления последовательностью выполнения операций в программе;
встроенные функции Access.
Метод имеет формат:
<объект>.<метод>[[(]<список аргументов>[)]]
Список аргументов заключается в скобки, если метод должен возвратить значение.
Методы подразделяются на те, которые возвращают значения как функции, и на те, которые не возвращают значения, а только выполняют определенные действия как подпрограммы.
Пример метода, возвращающего значение:
Dim dbs As Database
Dim rst As Recordset
Set dbs = CurrentDb()
Set rst = dbs.OpenRecordset (“Студенты”, dbOpenTable, ReadOnly)
Здесь метод OpenRecordset открывает таблицу с именем “Студенты” в текущей базе данных в режиме только для чтения как набор данных типа таблица. Объектом является текущая база данных CurrentDb(), представленная объектной переменной dbs. Метод возвращает значение, которое является ссылкой на открытую только для чтения таблицу. Инструкция Set присваивает это значение объектной переменной rst.
Примеры методов, не возвращающих значения.
Forms!Студенты![Номер_зачетки].SetFocus
Здесь метод SetFocus выполняется для объекта - поля Номер_зачетки в форме Студенты и переводит на него фокус. При этом аргументы отсутствуют.
DoCmd.Close acForm, “Студенты”
Здесь метод Close выполняется для объекта DoCmd, что позволяет запустить соответствующую макрокоманду. Аргументы acForm, “Студенты” указывают, что закрывается форма с именем “Студенты”. Этот метод не возвращает значение, поэтому аргументы не заключаются в скобки.
7.10. Примеры модулей
Пример 1. Поиск записи по ключу и замена не ключевых полей в таблице ПОСТАВКА.
'определение объектных переменных
Dim dbs As Database
Dim rst As Recordset
'определение полей для ввода ключей
Dim it As Integer
Dim dp As Date
Dim kp As Integer
'запись в dbs ссылки на текущую базу данных
Set dbs = CurrentDb()
'запись в rst ссылки на таблицу Поставка
Set rst = dbs.OpenRecordset("Поставка", dbOpenTable)
'задание индекса, построенного по ключу
rst.Index = "PrimaryKey"
'присвоение переменным значений, задаваемых
'пользователем в окне ввода
it = InputBox("Введите индекс товара", "Ввод параметров поиска")
dp = InputBox("Введите дату поставки", "Ввод параметров поиска")
kp = InputBox("Введите код поставщика", "Ввод параметров поиска")
'метод Seek отыскивает и делает текущей
'запись с введенными ключами
rst.Seek "=", it, kp, dp
'проверяется наличие записи с указанным ключом
If rst.NoMatch Then
MsgBox "Идентификатор не найден", vbOKOnly
Exit Sub
End If
'вывод данных из найденной записи
MsgBox " " & "Индекс товара" & rst![Индекс товара] _
& "," & " Дата " & rst![Дата поступления] & ","_
& " Поставщик " & rst![Код поставщика], vbOKOnly
'открытие режима редактирования записи
rst.Edit
rst![Количество] = InputBox("Введите количество")
rst![Закупочная цена] = InputBox("Введите закупочную цену")
'обновление записи
rst.Update
MsgBox "Замена произведена", vbOKOnly
Пример 2. Поиск записей с заданным индексом товара и редактирование закупочной цены в таблице ПОСТАВКА.
'определение объектных переменных
Dim dbs As Database
Dim rst As Recordset
'определение поля для поиска
Dim it As Integer
'запись в dbs ссылки на текущую базу данных
Set dbs = CurrentDb()
'запись в rst ссылки на таблицу Поставка
Set rst = dbs.OpenRecordset("Поставка", dbOpenTable)
'задание индекса, построенного по полю Индекс товара
rst.Index = "Индекс товара"
'присвоение переменной it значения, задаваемого
'пользователем в окне ввода
it = InputBox("Введите индекс товара", "Ввод параметров поиска")
'метод Seek отыскивает и делает текущей
'запись с введенным полем
rst.Seek "=", it
'проверяется наличие записи с указанным полем
If rst.NoMatch Then
MsgBox "Идентификатор не найден", vbOKOnly
Exit Sub
End If
Do Until rst![Индекс товара] <> it
'вывод данных из найденной записи
MsgBox " " & "Индекс товара " & rst![Индекс товара] &_
"," & " Дата " & rst![Дата поступления] & "," & _
" Поставщик " & rst![Код поставщика] & "," & " Количество "_ & rst![Количество] & "," & " Закуп_цена " _
& rst![Закупочная цена], vbOKOnly
'открытие режима редактирования записи
rst.Edit
rst![Закупочная цена] = InputBox("Введите закупочную цену")
'обновление записи
rst.Update
MsgBox "Замена произведена", vbOKOnly
‘перемещение на следующую запись
rst.MoveNext
If rst.EOF Then Exit Do
Loop