Учебная работа. Реферат: База данных Accese
средства
VB
6 для сотворения, наполнения и обработки таблиц баз данных
Microsoft
Access
Исследование и внедрение средств, которыми располагают среда проектирования и язык VB 6, для работы с базами данных Microsoft Access. исследование и внедрение инструмента VisData
(Data
Base
Manager
– Диспетчера баз данных
) для сотворения файла базы данных и случайного числа таблиц данной для нас базы, также обычного элемента управления Data
для наполнения полей таблиц значениями и необычного элемента MS
Flex
Grid
для отображения заполненных таблиц на экранной форме. исследование способности использования в процедурах на языке VB 6 языка запросов SQL для обработки таблиц базы данных.
1. Как при помощи Диспетчера баз данных
можно сделать новейший файл mdb
для предстоящего включения в него случайного числа таблиц базы данных?
2. Как создается новенькая таблица в уже сделанном файле mdb
? Как в таблицу врубаются новейшие поля (столбцы)? Как определяется тип данных включаемого в таблицу поля?
3. Что такое индекс и как при помощи Диспетчера баз данных
можно сделать индекс и включить его в таблицу?
4. Как присоединить отран управления Data
(Данные
) к одной из таблиц базы данных, содержащихся в файле mdb
? Какие два характеристики при всем этом нужно означить?
5. Какое EOF
элемента управления Data
дозволяет заносить новейшие записи в таблицу базы данных?
6. Какие два характеристики текстового поля отвечают за «привязку» этого поля к элементу управления Data
? Как при помощи «привязанных» текстовых полей заносить данные в таблицу базы данных?
7. Какое свойство элемента Data
может иметь в качестве значения не только лишь ссылку на настоящую таблицу базы данных, да и выражение языка SQL, при помощи которого создается виртуальная таблица?
8. Как и при помощи какого выражения SQL можно программно сделать настоящую таблицу в файле базы данных?
9. Как и при помощи какого выражения SQL можно программно удалить все данные из настоящей таблицы в файле базы данных?
В 2-ух вариантах 1-го задания 7-й работы были рассмотрены две таблицы базы данных «Автосервис»:
· таблица 7.1 «Авто»;
· таблица 7.2 «Неисправности».
Для наполнения этих таблиц значениями, для их визуализации, также для отработки запросов на SQL создается приложение, экранная форма которого в работающем состоянии показана на рис. 8.1.
Рис. 8.1. Экранная форма приложения для наполнения значениями 2-ух таблиц файла mdb
и для отработки запросов на SQL
В данном примере при помощи Диспетчера баз данных
(VisData
) среды проектирования VB 6 создается Access файл Автосервис.
mdb
с обозначенными 2-мя таблицами: Cars
(Авто) и Disrepairs
(Неисправности). разработка сотворения таблиц файла mdb
в среде IDE VB 6 описана в пособии [2], стр. 133 – 139.
Для наполнения значениями 1-й таблицы употребляются текстовые поля Text1
, Text2
и Text3
, привязанные к элементу Data1
, который, в свою очередь, привязан к таблице Cars
(Авто) файла Автосервис.
mdb
.
Для наполнения значениями 2-й таблицы употребляются текстовые поля Text4
, Text5
и Text6
, привязанные к элементу Data2
, который, в свою очередь, привязан к таблице Disrepairs
(Неисправности) файла Автосервис.
mdb
. разработка «привязки» описана в учебном пособии [2] – стр. 140 – 145.
Для визуализации таблиц употребляются элементы из необычного класса «Эластичная сетка данных» (MS
Flex
Grid
).
Опосля наполнения таблиц юзер может обратиться к базе данных с запросом на языке SQL. Для данной для нас цели употребляется команда меню Query
. Щелчок данной для нас команды вызывает возникновение окна Inputbox (рис. 8.2), в каком, «по дефлоту», уже есть эталон выражения SQL. юзер, очевидно, может ввести собственный вариант запроса.
Рис. 8.2. Окно для ввода запроса на SQL
Опосля ввода запроса и щелчка клавиши ОК
происходит автоматическое формирование 3-й таблицы, запись SQL выражения в поле метки и отображение новейшей таблицы в гибкой сетке – элементе MSFlexGrid3
на экранной форме (см. рис. 8.1).
Опуская описание шага проектирования интерфейса, сходу представим программный код данного приложения:
Private Sub Form_Load()
With MSFlexGrid1 ‘ Для таблицы Авто.
.ColWidth(0) = 500: .ColWidth(1) = 1200
.ColWidth(2) = 1500: .ColWidth(3) = 1000
End With
With MSFlexGrid2 ‘ Для таблицы Неисправности.
.ColWidth(0) = 500: .ColWidth(1) = 1000
.ColWidth(2) = 3000: .ColWidth(3) = 900
End With
With MSFlexGrid3 ‘ Для запроса «по дефлоту».
.ColWidth(0) = 500: .ColWidth(1) = 1500
.ColWidth(2) = 1200: .ColWidth(3) = 3000
.ColWidth(4) = 900: .ColWidth(5) = 1000
End With
End Sub
Private Sub mnuQuery_Click()
sSQL$ = InputBox(«Введите запрос на SQL, » & _
«относительно 2-ух таблиц базы данных», «SQL», _
«Select car_number, car_type, disrep_name, » & _
«repair_cost, Cars.disrep_code » & _
«From Cars Inner Join Disrepairs » & _
«On Disrepairs.disrep_code=Cars.disrep_code » & _
«Order By repair_cost»)
Data3.RecordSource = sSQL
Data3.Refresh
Label1.Caption = » SQL: » & sSQL
End Sub
. Разглядим приложение, которое показывает действие массовых операций языка SQL. Для этого добавим на экранную форму примера 8.1 пару частей, представленных на рис. 8.3. Добавим также команду меню Itogi
, при помощи которой будет обрабатываться таблица «Неисправности».
Рис. 8.3. Вид фрагмента окна приложения с 2-мя новенькими элементами: Data
4
и MSFlexGrid
4
для отображения результатов массовых операций
Опосля щелчка команды Itogi
элемент MSFlexGrid4
на экранной форме будет смотреться так, как показано на рис. 8.3.
Очевидно, что элемент Data4
, как и элемент Data3
, должен быть привязан к тому же файлу mdb
, что и элементы Data1
и Data2
. А его свойство RecordSource будет означено в процессе выполнения последующей программки:
Private Sub mnuItogi_Click()
sSQL$ = «Select Count(repair_cost), » & _
«CCur(Min(repair_cost)), » & _
«CCur(Max(repair_cost)), » & _
«CCur(Sum(repair_cost)), » & _
«CCur(Avg(repair_cost)) » & _
«From Disrepairs»
Data4.RecordSource = sSQL
Data4.Refresh
With MSFlexGrid4
.Row = 0
.Col = 0: .Text = «Показатель»
.Col = 1: .Text = «количество«
.Col = 2: .Text = «Минимум»
.Col = 3: .Text = «Максимум»
.Col = 4: .Text = «Сумма»
.Col = 5: .Text = «Среднее»
.Row = 1
.Col = 0: .Text = «
End With
End Sub
В процессе выполнения данной работы студенты должны выполнить 2 задания.
В процессе выполнения задания студенты решают задачку сотворения не виртуальной таблицы базы данных, как это было в примере 8.1, а настоящей таблицы с именованием CarDis
– в файле mdb
. В эту таблицу при помощи SQL запроса должны быть внесены данные из начальных 2-ух таблиц в согласовании с предлагаемым вариантом.
. Для сотворения новейшей таблицы можно спроектировать команду меню Create
Table
. Следует, но, держать в голове, что эта команда однократного деяния и опосля сотворения таблицы эту команду можно или «закомментировать», или убить. Код процедуры для данной для нас команды последующий:
Private Sub mnuCreateTable_Click()
sSQL$ = «Create Table CarDis (car_number Text(20), » & _
» car_type Text(20), disrep_name Text(50), » & _
» repair_cost Currency, disrep_code Long)»
Data3.Database.Execute sSQL
End Sub
В силу того, что при неоднократных пусках программки в новейшую таблицу записи будут
(старенькые записи при всем этом удаляться не будут), для чистки таблицы предлагается сделать команду меню Delete
Table
:
Private Sub mnuDeleteTable_Click()
sSQL$ = «Delete From CarDis»
Data3.Database.Execute sSQL
End Sub
Не считая того, нужно внести маленькие коррективы в код процедуры mnuQuery_
Click
(см. пример 8.1): В начало процедуры следует вставить оператор:
mnuDeleteTable_Click
А в конец процедуры следует вставить операторы:
sSQL = «Insert Into CarDis » & sSQL
Data3.Database.Execute sSQL
. В настоящую таблицу CarDis
внести записи, надлежащие запросу примера 8.1, но с ограничением: стоимость ремонта обязана быть не наименее 500 рублей, а записи должны быть отсортированы по убыванию цены ремонта.
. В настоящую таблицу CarDis
внести записи, надлежащие запросу примера 8.1, но с ограничением: стоимость ремонта обязана быть не наиболее 500 рублей, а записи должны быть отсортированы по возрастанию цены ремонта.
В процессе выполнения задания студенты, на базе примера 8.2 и результата выполнения задания 1 изучают действие массовых операций языка SQL на записях вновь построенной таблицы CarDis базы данных «Автосервис».
В SQL выражении, фигурирующем в коде процедуры mnuItogi_
Click
, следует поменять лишь имя таблицы опосля слова From
.
. Фрагмент экранной формы с плодами должен иметь вид, представленный на рис. 8.4:
Рис. 8.4. Фрагмент экранной формы с элементами FlexGrid3
и FlexGrid4
для демонстрации отработки SQL запросов по 1-му варианту
. Фрагмент экранной формы с плодами должен иметь вид, представленный на рис. 8.5:
Рис. 8.5. Фрагмент экранной формы с элементами FlexGrid3
и FlexGrid4
для демонстрации отработки SQL запросов по 2-му варианту
К О Н Е Ц
]]>