'ОТОБРАЖЕНИЕ ТАБЛИЦ
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 с.