русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Создание объектов баз данных средствами VBA


Дата добавления: 2014-05-17; просмотров: 3927; Нарушение авторских прав


Средствами VBA в программном режиме можно создавать не только объекты Access: таблицы, формы, запросы, но и такие элементы управления, как Кнопки, Надпись и др., что позволяет существенно повысить уровень автоматизации работы приложения. Ниже даны примеры создания некоторых объектов и элементов управления, приведены программы. По тексту программ даны необходимые пояснения.

Создание таблицы.Пусть, требуется создать в текущей базе данных таблицу Elise со следующими полями: Код, Фамилия вкладчика, Домашний адрес, Сумма вклада, Срок заключения договора, мес. Для решения данной задачи необходимо:

- в процедуре создать объектные переменные db, tb типа Database, TableDef и f1, f2, f3, f4 типа Field, предназначенные для хранения ссылок на соответствующие объекты базы данных;

- для создания нового объекта TableDef – таблицы с именем Elise нужно применить метод CreateTableDef к объектной переменной db. Для создания новых объектов Field – полей таблицы, нужно применить метод CreateField к объектным переменным f1, f2, f3, f4;

- для добавления этих полей в семейство Fields, входящих в объект TableDef нужно использовать метод Append;

- для добавления таблицы – объекта TableDef в семейство TableDefs нужно использовать метод Append;

Процедура решения этой задачи с использованием библиотеки DAO приведена ниже

 

Public Sub Создание_таблицы()

‘ Описание переменных

Dim db As Database

Dim tb As TableDef

Dim f1, f2, f3, f4, f5 As field

Set db = CurrentDb

‘Создание таблицы и ее полей

Set tb = db.CreateTableDef("Elise")

Set f1 = tb.CreateField("Код", dbInteger)

Set f2 = tb.CreateField("Фамилия вкладчика", dbText)

Set f3 = tb.CreateField("Домашний адрес", dbText)

Set f4 = tb.CreateField("Сумма вклада", dbCurrency)



Set f5 = tb.CreateField("Срок заключения договора, мес", dbInteger)

‘Добавление полей в таблицу

tb.Fields.Append f1

tb.Fields.Append f2

tb.Fields.Append f3

tb.Fields.Append f4

tb.Fields.Append f5

‘Добавление таблицы в БД

db.TableDefs.Append tb

End Sub

Создание формы.При создании форм за единицу измерениявMicrosoft Accessберут Твип (twip).Один твип равен 1/1440 дюйма. В одном сантиметре содержится 567 твипов.

Пусть требуетсясредствами VBA создать форму на основе таблицы КАФЕДРА только без фото. Процедура решения этой задачи с использованием библиотеки DAO приведена ниже

Public Sub Создание_формы()

Dim frm As Form 'Определение объектной переменной для формы

Set frm = CreateForm 'Создание новой формы и ссылки на переменную

frm.RecordSource = "КАФЕДРА" 'Источник данных в форме

'Определение объектных переменных для элементов управления

Dim c1, c2, c3, c4, t1, t2, t3, t4, n1 As Control

frm.Caption = "КАФЕДРАVBA" ' Имя файла

'Создание элементов управления типа надпись

Set t1 = CreateControl(frm.Name, acLabel, , , , 100, 1000, 1300, 200)

t1.Caption = "Код кафедры:"

Set t2 = CreateControl(frm.Name, acLabel, , , , 100, 1300, 1300, 200)

t2.Caption = "Название:"

Set t3 = CreateControl(frm.Name, acLabel, , , , 100, 1600, 1300, 200)

t3.Caption = "Телефон:"

Set t4 = CreateControl(frm.Name, acLabel, , , , 100, 1900, 1300, 200)

t4.Caption = "Зав кафедрой:"

'Создание элементов управления типа поле

Set c1 = CreateControl(frm.Name, acTextBox, , , , 1500, 1000, 1300, 200)

c1.ControlSource = "Код кафедры"

Set c2 = CreateControl(frm.Name, acTextBox, , , , 1500, 1300, 1300, 200)

c2.ControlSource = "Название"

Set c3 = CreateControl(frm.Name, acTextBox, , , , 1500, 1600, 1300, 200)

c3.ControlSource = "Телефон"

Set c4 = CreateControl(frm.Name, acTextBox, , , , 1500, 1900, 1300, 200)

c4.ControlSource = "Зав кафедрой"

Set n1 = CreateControl(frm.Name, acLabel, , , , 1400, 300, 700, 200)

n1.Caption = "КАФЕДРА" 'Имя формы

DoCmd.Restore

End Sub

Результат работы программы представлен на рис.2.7.

 

Рис.2.7. Форма, созданная средствами VBA

Создание запроса.Требуетсясредствами VBA создать запрос МАКС по таблице ТОВАРЫ для выборки записей в которых Стоимость товара больше определенной нижней границы. Граница вводится в окно диалога. Процедура решения этой задачи с использованием библиотеки DAO приведена ниже

Public Sub Создание_запроса_VBA()

Dim db As Database

Dim q As QueryDef

Set db = CurrentDb

' Создается запрос с именем Макс

Set q = db.CreateQueryDef("Макс", "Select *" _

& "from Товары where [Стоимость товара] >” & _

“ [Введите нижнюю границу стоимости товара];")

End Sub

3. СПИСОК ЛИТЕРАТУРЫ

1. Джон Вейскас. Эффективная работа с Microsoft Access 7.0 для Windows .- С-Пб.:Питер, 1997.

2. М.Хэлворсян, М.Янг. Эффективная работа с Microsoft Office 97.- С-Пб.:Питер, 1997.

3. МакФедризг Пол и др. Microsoft Office 97. Энциклопедия пользователя: пер. с англ.-К.: Издательство "ДиаСофт", 1998.

4. К. Гетц, М. Джилберт. Программирование в Microsoft Office. Полное руководство по VBA: пер. с англ.-К.: Издательская группа BHV, 1999.

5. Киммел, Пол. Освой самостоятельно программирование для Microsoft Access 2000 за 24 часа.: пер. с англ.-М.:"Вильямс". 2000.

6. Король В.И. Visual Basic 6.0, Visual Basic for Application 6.0. Язык программирования. Справочник с примерами.-М.: КУДРИЦ-ОБРАЗ, 2000.

7. Каммингс С. VBA для “чайников”: Пер. с англ.: М.:”Вильямс”, 2000.

8. Кен Гетц, Майк Джилберт. Программирование в Microsoft Office: пер. с англ.-К:”Ирина”. BHV, 2000.

9. С.Браун. Visial Basic: учебный курс. – СПб.: Питер, 2001.

10. Ю. Бекаревич, Н. Пушкина. Microsoft Access 2002. –СПб.: БХВ-Петербург, 2003.

 

4. СОДЕРЖАНИЕ

 

1. ОСНОВЫ ТЕХНОЛОГИИ MICROSOFT ACCESS………………………………………2

1.1.Введение………………………………………………………………………………. 2

1.2. Что такое базы даннях?................................................................................................2

1.3. Архитектура Microsoft Access……………………………………………………….2

1.4. Создание базы даннях.Создание таблиц. Связывание таблиц.................................3

1.5. Изменение проекта базы даннях.................................................................................9

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

1.7. Создание и редактирование форм............................................................................ 17

1.8. Создание и редактирование отчетов.........................................................................21

1.9. Создание и применение макросов.............................................................................25

2. РАЗРАБОТКА ПРИЛОЖЕНИЯ ПОЛЬЗОВАТЕЛЯ С ИСПОЛЬЗОВАНИЕМ VBA ...28

2.1. Введение.....................................................................................................................28

2.2. Модули Access……………………………………………………………………...28

2.3. Классы и семейства...................................................................................................29

2.4. Объектные модули Microsoft Office………………………………………………..29

2.5. Модели объектов Microsoft………………………………………………………...29

2.6. Модели объектов доступа к данням DAO и ADO………………………………..29

2.7. Ссылки на объекты.....................................................................................................30

2.8. Свойства и методы объектов……………………………………………………….30

2.9. Применение метода DoCmd в программах VBA ....................................................31

2.10.Работа с объектами доступа к данным.....................................................................33

2.11. Создание объектов баз данных средствами VBA ..................................................37

3. СПИСОК ЛИТЕРАТУРЫ..................................................................................................39

Приложение

ТАБЛИЦЫ БАЗЫ ДАННЫХ УЧЕБНЫЙ ПРОЦЕСС

Таблица 1. Данные таблицы СТУДЕНТ

Номер группы Номер студента ФИО Год рождения Адрес   + Балл поступления
Аристов Р.П. Одесса 4,25
Бондаренко С.А. Одесса 4,5
Борисова Е.И. Николаев 4,25
Макова Н.Е. Херсон 4,75
Боярская Н.П. Херсон 4,5
Федоров Д.К. Николаев 4,25
Сидоров И.Р. Одесса 4,5
Андреев А.П. Измаил 4,25
Петров П.Н. Измаил 4,75
Иванов К.К. Николаев 4,5

 

Ключевыми полями таблицы СТУДЕНТ являются поля: Номер группы, Номер студента.

 

Таблица 2. Данные таблицы ГРУППА

Номер группы Кол_во студентов Средний балл
4,5
4,4
4,8
4,5
4,8
3,9
4,7

 

Ключевыми полями таблицы ГРУППА является поле: Номер группы.

 

Таблица 3. Данные таблицы КАФЕДРА

 

Код кафедры Название Телефон Зав кафедрой Фото
Информатики 310-13-24 Игнатьев В.В.  
Математики 310-43-98 Иванов И.И.  
Истории 310-23-65 Смирнова И.Б.  
Иностранного языка 310-97-43 Жданова А.Е.  
Физкультуры 310-87-56 Плетнев В.А.  
Философии 310-34-12 Бондаренко В.В.  

 

Ключевыми полями таблицы КАФЕДРА является поле: Код кафедры.

 

 

Таблица 4. Данные таблицы ПРЕПОДАВАТЕЛЬ

Таб номер ФИО Уч_степень Уч_звание Код кафедры
Андреев А.П. д.т.н. профессор
Апухтин И.С. к.т.н. доцент
Глухов И.Л. к.т.н. доцент
Сеченов Ю.Б. к.т.н. доцент
Чернов В.Б. к.т.н. доцент
Блюмкина А.Т. д.ф.-н. профессор
Львова В.И.   ассистент
Шапошников И.Т. д.т.н. профессор
Новиков П.Н.   ассистент
Ильясов А.А. к.фил.н. доцент
Пустынцев Р.Т. к.ист.н. доцент
Романов И.П. к.ист.н. доцент
Цветков А.И. к.ист.н. доцент
Сорокина М.Ф. к.фил.н. доцент
Богомолов П.Р. к.фил.н. доцент
Лысова М.И. к.фил.н. доцент
Шаповалова М.Ф. к.фил.н. доцент
Кудряшова Г.М.   ассистент ассистент ассистент ассистент
Жигарева Н.К. к.пед.н. доцент
Егорова Н.Н.   ст.преп.
Ермолин Е.Н.   ассистент ассистент ассистент
Логинов А.М. к.фил.н. доцент
Яковлев К.В. к.фил.н. доцент
Раков А.В. к.фил.н. доцент
Соловьев С.И.   ассистент

 

Ключевыми полями таблицы ПРЕПОДАВАТЕЛЬ является поле: Таб номер.

 

Таблица 5. Данные таблицы ПРЕДМЕТ

 

Код предмета Название Всего часов Лекции Практика Число семестров Программа
Информатика  
Математика  
История  
Иностранный яз.  
Философия  
Физкультура  

 

Ключевыми полями таблицы ПРЕДМЕТ является поле: Код предмета.

 

Таблица 6. Данные таблицы ИЗУЧЕНИЕ

 

Номер группы Код предмета Таб номер Вид занятия Часы Ср_балл
лек
пр
лек
пр
лек
пр
пр
лек
пр
лек
лек
пр
лек
лек
пр
пр
пр
лек
пр

 

Ключевыми полями таблицы ИЗУЧЕНИЕ являются поля: Номер группы, Код предмета ,Таб номер, Вид занятия.

 

Таблица 7. Данные таблицы УСПЕВАЕМОСТЬ

 

Номер группы Номер студента Код предмета Таб номер Вид занятия Оценка
лек
пр
лек
пр
лек
пр
лек
пр

Ключевыми полями таблицы УСПЕВАЕМОСТЬ являются поля: Номер группы, Номер студента, Код предмета, Таб номер, Вид занятий

Таблица 8. Данные таблицы ТОВАРЫ

КодТовара Марка Описание товара КодПоставщика Цена На складе Стоимость товара
Кофе "Добра кава" Молотый по 100 г 2,61р. 2 610,00р.
Кофе "Nescafe Classic" Растворим. по 100 г 6,26р. 3 756,00р.
Кофе "Арабика" В зернах 100 г 2,40р. 3 120,00р.
Кофе "Галка" Растворим. по 50 г 2,44р. 1 366,40р.
Кофе "Галка" Капучино по 10 г 3,78р. 945,00р.
Кофе Maxima Молотый по 250 г 4,80р. 7 200,00р.
Кофе "Віденська кава" В зернах по 100 г 1,94р. 1 396,80р.
Чай Майский 200 г листовой 4,66р. 2 330,00р.
Чай Dilmah 125 г кр. Лист 2,95р. 295,00р.

 

Таблица 9. Данные таблицы ПОСТАВЩИКИ

 

КодПоставщика ФирмаПоставщика Город Страна ДатаПоставки
Чаеразвесочная фабрика Москва Россия 04.09.2006
АТ "Галка" Львов Украина 10.08.2006
Dilmah Штутгарт Германия 30.03.2005
Nestle Франкфурт на Майне Германия 11.07.2007
АТ "Свиточ" Львов Украина 12.08.2005

 



<== предыдущая лекция | следующая лекция ==>
Dim rs As DAO.Recordset | Вопрос 2. Классификация страхования.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Полезен материал? Поделись:

Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.005 сек.