Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Практическое использование MS Access


Информационный Канал Subscribe.Ru



1.Работа с объектами Recordset - добавление записей, перебор записей,
редактирование, поиск.
(Все примеры тестировались в MS Access 97, для того чтобы приведенный здесь код
работал Access 2000 или XP, необходимо включить в Visual Basic поддержку
Microsoft DAO 3.6 Object Library (Tools\References...))

Объекты Recordset в MS Access представляют собой удобное средство работы с таблицами из
модулей и модулей форм.
Пример: в БД существует таблица СОТРУДНИКИ с полями код_сотр, фио, паспорт;
создадим форму TEST для экспериментов с объектами Recordset, разместим на форме кнопку,
щелкнув правой кнопкой мыши по созданной кнопке выберем «Обработка событий…»,
при этом откроется окно модуля, для создания процедуры обработки события «Нажатие кнопки»:

Private Sub Кнопка0_Click()

End Sub

Напишем код, который добавит несколько записей, и затем выведем их на экран:

Private Sub Кнопка0_Click()
    ' Определяем переменные необходимые нам для работы
    ' DB – переменная для доступа к объектам нашей БД
    ' RS – переменная для работы с таблицами
    Dim DB As Database, RS As Recordset, S As String

    ' DB будет использоваться для работы с объектами текущей БД
    Set DB = CurrentDb

    ' RS будет использоваться для работы с таблицей "СОТРУДНИКИ"
    Set RS = DB.OpenRecordset("СОТРУДНИКИ", dbOpenDynaset)

    ' добавление записи в таблицу
    RS.AddNew
    RS![фио] = "Бочкарев А. Н."
    RS![паспорт] = "03 01 423748, 12.12.01, ПВС УВД Прикуб. округа к. Краснодара"
    RS.Update
    ' добавление записи в таблицу
    RS.AddNew
    RS![фио] = "Солодов В. И."
    RS![паспорт] = "44 03 542189, 10.10.02, ПВС УВД Западного округа к. Москва"
    RS.Update
    ' добавление записи в таблицу
    RS.AddNew
    RS![фио] = "Таранов И."
    RS![паспорт] = "00 00 215478, 31.01.00"
    RS.Update

    ' поиск ПЕРВОЙ записи в которой поле "фио" содержит подстроку "нов"
    RS.FindFirst "[фио] like '*нов*'"

    ' редактирование найденной записи
    If Not RS.NoMatch Then ' если запись, удовлетворяющая условию найдена
       RS.Edit
       RS![паспорт] = "00 00 215478, 31.01.00, ПВС УВД г. Грозный"
       RS.Update
    End If

    ' перебор записей таблицы и вывод информации на экран
    RS.MoveFirst
    Do Until RS.EOF
       S = RS![фио] & Chr$(13) & Chr$(10)
       S = S & RS![паспорт]
       MsgBox S, 48, "Запись таблицы 'СОТРУДНИКИ'"
       RS.MoveNext
    Loop

    MsgBox "Все!"
End Sub

Для того чтобы посмотреть результат работы нашей программ, необходимо открыть форму TEST
(естественно не в режиме конструктора) и нажать на кнопку, выполняющую нашу процедуру.

 
 ----------------------------------------------------------------------
 Дополнительная информация, примеры программ http:\\use-access.narod.ru
 Написать письмо: use-access@bk.ru
 

http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное