Учебная работа. Реферат: Создание и заполнение баз данных

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (5 оценок, среднее: 4,80 из 5)
Загрузка...
Контрольные рефераты

Учебная работа. Реферат: Создание и заполнение баз данных

1.Создание и наполнение базы данных…………………………………………..3

1.1.Создание БД……………………………………………………….. 3

1.2.Вывод таблиц в формы……………………………………………6 1.3.Формирование различного вида запросов………………………. 7


1.4.Вывод запросов на формы…………………………………….. …10
1.5.Создание отчёта с итогами…………………………………….. …12
1.6.Создание меню управления базой данных……………………….13
2.Экспорт данных в Visual Basic 6.0 (с внедрением частей управления DATA и MSFlexGrid)……………………………………………………………15
Заключение………………………………………………………………………25

Перечень использованной литературы…………………………………………..26


Введение

Как понятно, большая часть современных компов работают под управлением операционной системы Windows и обустроены, обычно, пакетом приложений Word, Excel, Access и VisualBasic семейства MSQffice. В истинное время фактически везде употребляется пакет прикладных программ Microsoft Office, в обычный набор которого заходит MS Access – мощная система управления базами данных. Access интегрирован с иными приложениями пакета, что дозволяет использовать богатые способности компонент. Office. Access дозволяет создавать дружеский интерфейс, также – решать особые задачки с помощью программирования на языке Visual Basic for Application (VBA), в базе которого лежит язык Basic. Visual Basic стал весьма пользующимся популярностью в крайнее время благодаря лёгкости сотворения программных товаров, удобству и быстроте доступа к базам данных и глубочайшей интеграции с Microsoft Office, что содействует развитию способностей объектного и зрительного проектирования.


1. Создание и наполнение базы данных.


1.1. Создание БД.

Таблица 1 в режиме конструктора

Поле «Kod» (Код городка) — ключевое. Через него будет связь со 2-ой таблицей.

Таблица 2 в режиме конструктора

Связывание таблицы 1 и таблицы 2

Избираем в меню «Сервис» — «Схема данных», добавляем сделанные таблицы. Выделяем в таблице 1 поле «Kod» и, удерживая нажатой левую клавишу мышки, перетаскиваем это поле на поле с таковым же заглавием во 2-ой таблице. В открывшемся диалоговом окне нужно отметить флагами последующие пункты:

«Обеспечение целостности данных»

«Каскадное обновление связанных полей»

«Каскадное удаление связанных записей»

Связь один-ко-многим значит, что одной записи первой таблицы соответствует ни одна, одна либо много записей 2-ой таблицы.

Открываем таблицы и заполняем их:



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

Форма в режиме конструктор:

Форма в рабочем состоянии.



1)

Конструктор запроса:

запрос 1 на языке SQL:

SELECT Tab1.Nazv, Tab2.[Nazv r], Tab1.Ras2

FROM Tab1 INNER JOIN Tab2 ON Tab1.Kod = Tab2.Kod

WHERE (((Tab1.Ras2)>[задать величину]));

Итог выполнения запроса:

2)
.

Конструктор запроса:

Вспомогательный запрос:

главный запрос:

Запрос 2 на языке SQL:

Вспомогательный запрос:

SELECT Tab2.Kod, Sum(Tab2.Rn1) AS Sum1, Sum(Tab2.Rn2) AS Sum2, Sum(Tab2.Rn3) AS Sum3, Sum(Tab2.Rn4) AS Sum4, Sum(Tab2.Rn5) AS Sum5

FROM Tab2

GROUP BY Tab2.Kod;

Главный запрос:

SELECT Tab1.Kod, Tab1.Nazv

FROM Tab1 INNER JOIN zap21 ON Tab1.Kod = zap21.Kod

WHERE (((zap21.Sum1)>[ras1])) OR (((zap21.Sum2)>[ras2])) OR (((zap21.Sum3)>[ras3])) OR (((zap21.Sum4)>[ras4])) OR (((zap21.Sum5)>[ras5]));

Итог выполнения запроса

Вспомогательный запрос:

главный запрос:


Как в пт 2.2. создаём формы в конструкторе и выводим туда результаты запросов.

Форма запроса 1 в режиме конструктор:

Форма запроса 2 в режиме конструктор:

Форма запроса 1 в рабочем состоянии:

Форма запроса 2 в рабочем состоянии:


Для сотворения отчёта также можно пользоваться конструктором либо мастером сотворения отчётов.

отчет в режиме конструктора:

Итог составления отчёта:



Для сотворения меню откроем конструктор и расположим на нём командные клавиши и метки к ним.

Для того чтоб меню заработало, нужно указать действие для каждой клавиши. Щёлкнув дважды левой клавишей мышки, открываем окно характеристик, избираем «нажатие клавиши» и указываем, что нужно выполнить функцию.

Пример процедуры для клавиши «Информация о предприятии»

Private Sub Кнопка0_Click()

On Error GoTo Err_Кнопка0_Click

Dim stDocName As String

Dim stLinkCriteria As String

stDocName = «Tab1»

DoCmd.OpenForm stDocName, , , stLinkCriteria

Exit_Кнопка0_Click:

Exit Sub

Err_Кнопка0_Click:

MsgBox Err.Description

Resume Exit_Кнопка0_Click

EndSub

Аналогично указываем процедуры остальных клавиш.

Меню в рабочем состоянии:



2.Экспорт данных в

Visual
Basic 6.0 (с внедрением частей управления
DATA и
MSFlexGrid)

Создать форму и программный код в VisualBasic, обеспечивающий доступ к базе данных (через элемент Data) и позволяющий:

3.
Для всякого городка и района вывести информацию о ресурсах с наименьшим расходом.(ресурс, расход).

4.
По избираемым ресурсам вывести информацию о районе и городке с наибольшим расходом.

Для работы с базой данных в программном средстве VisualBasic нужно сохранить сделанную базу данных в формате 1997 года (
сервис — служебные программки — конвертировать вAccess97),
потом выйти изAccess и уже ее подключать в программеVB6 к элементу Data, обнаружив имя БД в перечне его характеристики DatabaseName.

Форма до пуска программки
:

Применяемые элементы управления:


Элемент
Свойство
приложение Microsoft Access_97.mdb

Connect
Access

RecordsetType
0 – Table

RecordSource
Таблица 1

Связанные текстовые поля TextBox
DataSource
Data1

Name
Text1(0)

Name
Text1(1)

Name


Name
Text1(7)

Data
Name
Data2

DatabaseName
c:приложение Microsoft Access_97.mdb

Connect
Access

RecordsetType
0 – Table

RecordSource
Таблица 2

Связанные текстовые поля TextBox
DataSource
Data1

Name
Text2(0)

Name
Text2(1)

Name


Name
Text2(7)

Label
Name
Label

Caption
задаётся программно

CommandButton
Name
Command1

Caption
Вывести таблицу

CommandButton
Name
Command2

Caption
Добавить запись

CommandButton
Name
Command3

Caption
Удалить запись

CommandButton
Name
Command4

Caption
Вывести таблицу

CommandButton
Name
Command5

Caption
Добавить запись

CommandButton
Caption
Command6

Name
Удалить запись

CommandButton
Name
Command7

Caption
Справка 1

CommandButton
Name
Command8

Caption
Справка 2

CommandButton
Caption
Command9

Name
Выход

Программный
код формы
:

‘ОТОБРАЖЕНИЕ ТАБЛИЦ

Private Sub Command1_Click()

Label.Caption = «Таблица №1»

Grid.Clear ‘чистка сетки

Grid.Cols = 8

Grid.Rows = Data1.Recordset.RecordCount + 1 ‘устанавливаем количество строк в гибких сетках равным количеству записей в таблице + 1 (для заголовков столбцов)

Data1.Recordset.MoveFirst ‘переход к первой записи

ForI = 1 ToData1.Recordset.RecordCount ‘цикл отображения записей таблицы в гибких сетках

ForJ = 1 To 8 ‘по столбцам записи таблицы

If I = 1 Then Grid.TextMatrix(0, J — 1) = Data1.Recordset.Fields(J — 1).Name

Grid.TextMatrix(I, J — 1) = Data1.Recordset.Fields(J — 1)

NextJ

Data1.Recordset.MoveNext ‘переход к последующей записи таблицы 1

NextI

Data1.Recordset.MoveFirst ‘возврат к первой записи

ForJ = 1 To 8 ‘выравниваем ширину столбцов

Grid.ColWidth(J — 1) = Grid.Width / 9

Next J

End Sub

Private Sub Command4_Click()

Label.Caption = «Таблица №2»

Grid.Clear ‘чистка сетки

Grid.Cols = 8

Grid.Rows = Data2.Recordset.RecordCount + 1 ‘устанавливаем количество строк в гибких сетках равным количеству записей в таблице + 1 (для заголовков столбцов)

Data2.Recordset.MoveFirst ‘переход к первой записи

ForI = 1 ToData2.Recordset.RecordCount ‘цикл отображения записей таблицы в гибких сетках

ForJ = 1 To 8 ‘по столбцам записи таблицы

If I = 1 Then Grid.TextMatrix(0, J — 1) = Data2.Recordset.Fields(J — 1).Name

Grid.TextMatrix(I, J — 1) = Data2.Recordset.Fields(J — 1)

NextJ

Data2.Recordset.MoveNext ‘переход к последующей записи таблицы 1

NextI

Data2.Recordset.MoveFirst ‘возврат к первой записи

ForJ = 1 To 8 ‘выравниваем ширину столбцов

Grid.ColWidth(J — 1) = Grid.Width / 9

NextJ

EndSub

‘ДОБАВЛЕНИЕ ЗАПИСЕЙ

Private Sub Command2_Click() ‘в таблицу 1

Dim Reply As VbMsgBoxResult

Reply = MsgBox(«Если будете вводить новейшую запись, нажмите клавишу OK», _

vbOKCancel, «Ввод новейшей записи»)

If Reply = vbOK Then

Text1(0).SetFocus ‘Остановка, текстовые окна пустые, в их необходимо ввести запись

Data1.Recordset.AddNew

EndIf

MsgBox («Опосля ввода записи нажмите левую стрелку элемента Data»)

End Sub

Private Sub Command5_Click() ‘в таблицу 2

Dim Reply As VbMsgBoxResult

Reply = MsgBox(«Если будете вводить новейшую запись, нажмите клавишу OK», _

vbOKCancel, «Ввод новейшей записи»)

If Reply = vbOK Then

Text2(0).SetFocus ‘Остановка, текстовые окна пустые, в их необходимо ввести запись

Data2.Recordset.AddNew

EndIf

MsgBox («Опосля ввода записи нажмите левую стрелку элемента Data»)

End Sub

‘УДАЛЕНИЕ ЗАПИСЕЙ

PrivateSubCommand3_Click() ‘из таблицы 1

DimReplyAsVbMsgBoxResult

Reply = MsgBox(«Если будете удалять текущую запись, нажмите клавишу OK», vbOKCancel, «Удаление текущей записи»)

IfReply = vbOKThen

Data1.Recordset.Delete ‘удаление записи

Data1.Recordset.MoveFirst ‘переход к первой записи

End If

Command1_Click

End Sub

Private Sub Command6_Click() ‘из таблицы 1

Dim Reply As VbMsgBoxResult

Reply = MsgBox(«Если будете удалять текущую запись, нажмите клавишу OK», vbOKCancel, «Удаление текущей записи»)

If Reply = vbOK Then

Data2.Recordset.Delete ‘удаление записи

Data2.Recordset.MoveFirst ‘переход к первой записи

End If

Command3_Click

End Sub

Отображение
таблицы
1:

Отображение таблицы 2:


Private Sub Command7_Click()

Label.Caption = «информация о ресурсах с наименьшим расходом»

Grid.Clear ‘чистка сетки

Grid.Cols = 5

Grid.Rows = Data2.Recordset.RecordCount + 1 ‘устанавливаем количество строк в гибкой сетке равным количеству записей в таблице + 1 (для заголовков столбцов)

Grid.FormatString = «^Код городка|^код района|заглавие района|^№ ресурса|^расход»

Data2.Recordset.MoveFirst ‘переход к первой записи

For I = 1 To Data2.Recordset.RecordCount

Min = Data2.Recordset.Fields(3): nommin = «»

For J = 3 To 7 ‘по столбцам записи таблицы

If Data2.Recordset.Fields(J) < Min Then Min = Data2.Recordset.Fields(J): nommin = «»

If Data2.Recordset.Fields(J) = Min Then nommin = nommin & Str(J — 2) & » «

Next J

Grid.TextMatrix(I, 0) = Data2.Recordset.Fields(0)

Grid.TextMatrix(I, 1) = Data2.Recordset.Fields(1)

Grid.TextMatrix(I, 2) = Data2.Recordset.Fields(2)

Grid.TextMatrix(I, 3) = nommin

Grid.TextMatrix(I, 4) = Min

Data2.Recordset.MoveNext ‘переход к последующей записи таблицы 1

Next I

For J = 1 To 5 ‘выравниваем ширину столбцов

Grid.ColWidth(J — 1) = Grid.Width / 6

Next J

Data2.Recordset.MoveFirst ‘возврат к первой записи

End Sub


Private Sub Command8_Click()

Grid.Cols = 4

Grid.FormatString = «»

res = InputBox(«Введите номер ресурса от 1 до 5», «Ввод данных»)

Data2.Recordset.MoveFirst ‘переход к первой записи таблицы1

Grid.Rows = 1 ‘количество строк в гибкой сетке

Grid.FormatString = «Код городка|Код района|Заглавие городка|Заглавие

_района»

ForJ = 1 To 4 ‘выравниваем ширину столбцов

Grid.ColWidth(J — 1) = Grid.Width / 5

Next J

Max = 0

For I = 1 To Data2.Recordset.RecordCount

If Data2.Recordset.Fields(res + 2) > Max Then Max =

_Data2.Recordset.Fields(res + 2): Grid.Rows = 1

If Data2.Recordset.Fields(res + 2) = Max Then

Grid.Rows = Grid.Rows + 1

Grid.TextMatrix(Grid.Rows — 1, 0) = Data2.Recordset.Fields(0)

Grid.TextMatrix(Grid.Rows — 1, 1) = Data2.Recordset.Fields(1)

Grid.TextMatrix(Grid.Rows — 1, 3) = Data2.Recordset.Fields(2)

Data1.Recordset.MoveFirst ‘переход к первой записи таблицы1

ForJ = 1 ToData1.Recordset.RecordCount ‘по записям отыскиваем

_название городка по его коду

If Data1.Recordset.Fields(0) = Data2.Recordset.Fields(0) Then

_Grid.TextMatrix(Grid.Rows — 1, 2) = Data1.Recordset.Fields(1)

Data1.Recordset.MoveNext ‘перебегаем к последующей записи

_таблицы2

Next J

EndIf

Data2.Recordset.MoveNext ‘перебегаем к последующей записи таблицы1

NextI

Label.Caption = «По ресурсу » & Str(res) & » наибольший расход » & Str(Max) & » был в:»

End Sub

Private Sub Command9_Click()

End

End Sub



Заключение.

В процессе данного курсового проекта, поставленная цель была реализована (пункты 1 и 2 задания по КП были выполнены
., 3 и 4
.(обработка БД Access)). Были выполнены входящие в личное задание задачки по последующим разделам VB: программирование линейных алгоритмов, программирование разветвляющихся алгоритмов, программирование повторяющихся алгоритмов, создание процедур и функций юзера.

Перечень использованной литературы
:

1) Методические указания к выполнению лабораторных работ по дисциплине “Компьютерная подготовка” с применением СУБД ACCESS. Выпуск 2. / Сост.: А.Е. Макаренко, Т.В. Бугреева, И.А. Ильина, Е.В. Лемешко, М.В. Седун; ГУУ. – М., 2002. – 48 с.

2) Методические указания к выполнению лабораторной работы по дисциплине “Компьютерная подготовка” с применением СУБД ACCESS. Выпуск 1. /

3) Сост.: Т.В. Бугреева, И.А. Ильина, А.Е. Макаренко, Е.В. Лемешко, М.В. Седун; ГУУ. – М., 2002. – 32 с.

4) Несмеянов И.А., Барковский В.В., Венчковский Л.Б. Внедрение языка Visual Basic 6.0 при разработке программных средств для обработки баз данных: Учебно-практическое пособие – 2-е изд., испр./ ГУУ. – М., 2006. – 180 с.

]]>