Автор работы: Пользователь скрыл имя, 20 Марта 2011 в 21:29, курсовая работа
Как известно, большинство современных компьютеров работают под управлением операционной системы Windows и оснащены, как правило, пакетом приложений Word, Excel, Access и Visual Basic семейства MS Qffice. В настоящее время практически повсеместно используется пакет прикладных программ Microsoft Office, в стандартный набор которого входит MS Access – мощная система управления базами данных. Access интегрирован с прочими приложениями пакета, что позволяет применять богатые возможности компонентов.
Введение…………………………………………………………………………. .2
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
Программный код формы:
'ОТОБРАЖЕНИЕ ТАБЛИЦ
Private Sub Command1_Click()
Label.Caption = "Таблица №1"
Grid.Clear 'очистка сетки
Grid.Cols = 8
Grid.Rows = Data1.Recordset.RecordCount + 1 'устанавливаем количество строк в гибких сетках равным количеству записей в таблице + 1 (для заголовков столбцов)
Data1.Recordset.MoveFirst 'переход к первой записи
For I = 1 To Data1.Recordset.RecordCount 'цикл отображения записей таблицы в гибких сетках
For J = 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)
Next J
Data1.Recordset.MoveNext 'переход к следующей записи таблицы 1
Next I
Data1.Recordset.MoveFirst 'возврат к первой записи
For J = 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 'переход к первой записи
For I = 1 To Data2.Recordset.RecordCount 'цикл отображения записей таблицы в гибких сетках
For J = 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)
Next J
Data2.Recordset.MoveNext 'переход к следующей записи таблицы 1
Next I
Data2.Recordset.MoveFirst 'возврат к первой записи
For J = 1 To 8 'выравниваем ширину столбцов
Grid.ColWidth(J - 1) = Grid.Width / 9
Next J
End Sub
'ДОБАВЛЕНИЕ ЗАПИСЕЙ
Private Sub Command2_Click() 'в таблицу 1
Dim Reply As VbMsgBoxResult
Reply = MsgBox("Если будете вводить новую запись, нажмите кнопку OK", _
vbOKCancel, "Ввод новой записи")
If Reply = vbOK Then
Text1(0).SetFocus 'Остановка, текстовые окна пустые, в них нужно ввести запись
Data1.Recordset.AddNew
End If
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
End If
MsgBox ("После ввода записи нажмите левую стрелку элемента Data")
End Sub
'УДАЛЕНИЕ ЗАПИСЕЙ
Private Sub Command3_Click() 'из таблицы 1
Dim Reply As VbMsgBoxResult
Reply = MsgBox("Если будете удалять текущую запись, нажмите кнопку OK", vbOKCancel, "Удаление текущей записи")
If Reply = vbOK Then
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
Grid.Rows = 1 'количество строк в гибкой сетке
Grid.FormatString = "Код города|Код района|Название города|Название
_района"
For J = 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(
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
For J = 1 To Data1.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
End If
Data2.Recordset.MoveNext
Next I
Label.Caption = "По ресурсу " & Str(res) & " максимальный расход " & Str(Max) & " был в:"
End Sub
Private Sub Command9_Click()
End
End Sub
Заключение.
В
ходе данного курсового проекта,
поставленная цель была реализована (пункты
1 и 2 задания по КП были выполнены на
Access., 3 и 4 на Visual Basic.(обработка
БД Access)). Были выполнены входящие в индивидуальное
задание задачи по следующим разделам
VB: программирование линейных алгоритмов,
программирование разветвляющихся алгоритмов,
программирование циклических алгоритмов,
создание процедур и функций пользователя.
Список
использованной литературы: