|
Создание базы данных "с нуля"
Visual Basic является отличным инструментом для работы с базами данных. Самым распространнённым форматом
баз данных является Access - с расширеним файлов mdb. Для создания базы данных в Бейсике есть
Visual Data Manager, с помощью которого можно создавать базы данных. Также для просмотра и редактирования в
Бейсике баз данных програмным путём существует объект Data - данные. С его помощью можно создавать, изменять,
редактировать и сохранять базы данных.
1 Создание базы данных.
Выбирите в меню Tools объект Visual Data Manager, перед вами откроется окно с названием VisData.
В меню "File" выбирите пункт "New" и "Microsoft Access", там закладку "Version 7.0 MDB". Сохраните базу данных,
например с именем "mydata.mdb". Теперь перед вами открылось два окна - первое с названием "Database window",
второе с "SQL Statement". Первое окно содержит только пункт "Properties", а второе пустое. В первом окне сделайте
клик правой кнопкой мыши и в меню выбирите "New table". У вас появилось окно с названием "Table structure". В
поле "Table name" введите например "mytable". Теперь нажмите на пнопку "Add Field" и в появившемся окне, в поле
"Name" введите "Name", нажмите "OK". Потом опять в этом же поле введите " Surname" и нажмите "OK" затем "Close".
Всё, теперь в окне "Field List" есть два наших поля с указанными ранее именами. Нажмите "Build the Table". Если вы
сделали всё правильно, то в окне "Database window" появилась закладка "mytable". Создание базы данных завершено!
Теперь сдедайте двойной клик по "mytable" и у вас появится окно с названием "Dinaset:mytable" в котором будет два
текстовых поля с именами "Name" и "Surname". Нажмите кнопку "Add" и введите в первое какое-нибудь имя, а во
второе какую-нибудь фамилию. Нажмите "Uptade". Всё, теперь в базе данных есть одна запись.
Визуальное моделирование базы данных, закончено. Теперь переходим к программному просмотру и редактированию
базы данных.
Создайте стандартный проект, на панеле инструментов выбирите и наклейте на форму обьект "Data", два текстовых
поля - первое с именем "txtName", второе "txtSurname" и четыре кнопки с именами: "btnNew" - для добавления новой
записи, "btnDel" - для удаления текущей записи, "btnUpdate" - для обновления базы данных и "btnSearch" - для поиска
по базе данных. Впишите в поле "Caption" у "btnNew" - "Добавить", у "btnDel" - "Удалить", у "btnUpdate" - "Сохранить",
у "btnSearch" - "Поиск". Теперь нам надо связать два текстовых поля с базой данных. Кликните один раз на объекте
Data и на панели с параметрами в закладке "Databasename" укажите путь к созданной нами базе данных с именем
"mydata.mdb". Теперь в закладке "Record sourse" выбирите единственную, созданную нами таблицу "mytable". Всё,
файл базы данных подключен к самой базе данных. Осталось подключить остальные компоненты... Кликните один раз
на текстовом поле с именем "txtName" и на панели параметров в закладке "Data sourse" укажите единственную "Data1",
а в закладке "Data Field" укажите "Name". Тоже самое делаем со вторым текстовым полем - в закладке "Data sourse"
укажите "Data1", а в закладке "Data Field" укажите "Surname". Всё, запускайте проект! Если вы всё сделали правильно,
то в текстовых полях должна появиться та информация, которую вы вводили при проектировании базы данных в окне
"Dinaset:mytable", если её нет, то это значит что где-то вы допустили ошибку:(
Осталось только построить механизм для работы с этой базой данных.
Делаем двойной клик по кнопке с названием "Добавить" и вписываем "data1.recordset.addnew".
Делаем двойной клик по кнопке с названием "Удалить" и вписываем
With Data1.Recordset
.Delete
.MoveNext
if .EOF Then .MoveLast
if .BOF Then MsgBox "База данных пуста!"
End With
Делаем двойной клик по кнопке с названием "Обновить" и вписываем
Data1.UpdateRecord
Data1.Recordset.Bookmark = Data1.Recordset.LastModified
Делаем двойной клик по кнопке с названием "Поиск" и вписываем
Data1.Recordset.FindFirst "mytable = '" _
& Trim(InputBox("Введите имя:")) & "'"
if Data1.Recordset.NoMatch Then MsgBox "Имя не найдено"
Вместо FindFirst можно вставлять следующие методы:
Оператор
|
Действие |
FindFirst
|
Ищет первую запись в БД |
FindLast
|
Ищет последнюю запись в БД |
FindNext
|
Ищет каждую следующую запись в БД |
FindPrevious
|
Ищет предыдущую запись в БД |
Всё! Теперь запускайте проект и проверяйте.
Знаю, вам не хочется видеть на вашей форме эту убогую компоненту "Data", вам ведь хочется управлять базой
кнопочками или картинками?!
Поместите на форму ещё четыре кнопки: "btnFirts" и в поле "Caption" - "Первая", "btnLast" - "Последняя", "btnPrev" -
"Предыдущая" и "btnNext" - "Следующая". Делаем двойной клик по кнопке "Первая" и вписываем
"data1.recordset.moveFirst", двойной клик по "Последняя" и вписываем "data1.recordset.movelast", двойной клик по
"Предыдущая" и вписываем "data1.recordset.moveprevious" и двойной клик по "Следующая" и в код вписываем
"data1.recordset.movenext".
Всё! Проверяйте.
Знаю знаю, что когда вы листаете базу кнопками, доходя до последней записи срабатывает ошибка с номером "3021"
- она означает, что в базе данных больше нет записей. В Бейсике есть отличный обработчик ошибок! Например:
Private Sub btnNext_Click()
'Сюда впишите "On Error Resume Next" и ошибки не будут срабатывать! 'Но лучше сделать так:
If Not Data1.Recordset.EOF Then
Data1.Recordset.MoveNext
Else
Data1.Recordset.MovePrevious
End If
End Sub
Это дало нам, что если достигнут конец базы данных, то переместиться на предыдущую запись и ошибка не сработает.
Тоже самое можно проделать со всеми кнопками.
Всё! Поздравляю! Вы сделали базу данных и систему управления к ней!
[Автор Беляев Данила]
|
|