Работа с Базами Данных В предыдущих статьях (Создание Базы Данных), я попытался дать небольшой обзор о том как можно создавать Базы Данных. Те письма и отклики, которые я получил воодушивили меня на продолжение работы. В новом цикле статей я планирую показать как можно работать с созданной (или уже существующей) Базой Данных. Открытие Базы Данных После того как вы программно создали БД встает вопрос о том, как ее использовать. Естественно, вы же не будете создавать БД с помощью кода и работать с ней с помошью Access ! В данной, небольшой статье, я покажу на примере как можно будет открыть БД и считать данные из какой нибудь таблицы. Для того, чтобы всем было удобно, мы возьмем поставляемую с пакетом Visual Basic БД - Biblio.mdb. А тепрь приступим…. Откройте в VB новый проект, на зовите его как хотите, и незабудьте подключить библиотеку Microsoft DOA 3.51 Object Library в меню Project|References.. В раздел General Declaration поместите переменные которые позволят вам обращаться к объектам используемым для работы с БД. Option Explicit Dim WS As Workspace Dim DB As Database Dim RS As Recordset Dim strDBPath As String В процедуре Form_Load формы впишите код инициализирующий переменные. strDBPath = "C:\Program Files\Microsoft Visual Studio\VB98\Biblio.mdb" 'Открываем рабочую область Set WS = DBEngine.Workspaces(0) 'Открываем БД, где strDBPath – полный путь к БД (у вас он может быть чуть иным), 'False – означает, что мы открываем БД в режиме Exclusive (False), 'и для Read\Write (False) Set DB = WS.OpenDatabase(strDBPath, False, False) 'Открываем таблицу Authors Set RS = DB.OpenRecordset("Authors", dbOpenDynaset) На форму поместите три метки (Lable) , три текстовых поля (TextBox) и кнопки (CommandButton). И опять в процедуре Form_Load впишем код для инициализации текстовых полей. Таким образом мы связываем таблицу Authors с нашей формой. Text1.Text = RS("Au_ID") Text2.Text = RS("Author") Text3.Text = RS("Year Born") Теперь для перемещения по записям нам необходимо в событие Command_Click каждой кнопки вписать свой код. Самый простой код будет у кнпок «Певую» и «Последнюю». Private Sub Command1_Click() 'Перемещаемся на первую запись в таблице RS.MoveFirst TextEmpty End Sub Private Sub Command4_Click() 'Перемещаемся на последнюю запись в таблице RS.MoveLast TextEmpty End Sub Чуть посложней у кнопок «Следуящая» и «Предыдущая» так, как приходится проверять дошли ли вы до конца таблицы или нет (также проверяем дошли ли до начала таблицы). Private Sub Command2_Click() 'Перемещаемся на следующую запись в таблице If RS.EOF = True Then MsgBox "Вы находитесь на последней записи.", vbExclamation, Me.Caption Exit Sub Else RS.MoveNext TextEmpty End If End Sub Private Sub Command3_Click() 'Перемещаемся на предыдущую запись в таблице If RS.BOF = True Then MsgBox "Вы находитесь на первой записи.", vbExclamation, Me.Caption Exit Sub Else RS.MovePrevious TextEmpty End If End Sub Инициализацию текстовых полей проводим в отдельной процедуре. Private Sub TextEmpty() 'Обнуляем все поля перед их заполнением Text1.Text = Empty Text2.Text = Empty Text3.Text = Empty Text1.Text = RS("Au_ID") Text2.Text = RS("Author") Text3.Text = RS("Year Born") End Sub По окончанию работы с формой необходимо закрыть Базу Данных, хотя это произойдет автоматически, когда вы выгрузите форму, но лучше поставить код в процедуру Unload. ‘Закрываем Базу Данных RS.Close DB.Close WS.Close Set RS = Nothing Set DB = Nothing Set WS = Nothing На этом пока закончим. |