Смекни!
smekni.com

Создание и заполнение баз данных (стр. 2 из 2)

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

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:

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

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

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

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 задания по КП были выполнены на Access., 3 и 4 на Visual Basic.(обработка БД Access)). Были выполнены входящие в индивидуальное задание задачи по следующим разделам VB: программирование линейных алгоритмов, программирование разветвляющихся алгоритмов, программирование циклических алгоритмов, создание процедур и функций пользователя.

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

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

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

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

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