TopPicLogo TopPicText

Изменение значения поля (DAO)

Примечание:
    Если вы используете имена полей с пробелами (что не рекомендуется) то они должны обрамляться квадратными скобками  - [Имя Поля]

' Изменяет значение записи с номером 101
Dim strSQL As String
Dim rst As DAO.Recordset
Dim lngID As Long

    lngID = 101 'Задаём номер записи
'Строим набор с условием отбора (exRecordID = 101)
    strSQL = "SELECT * FROM tblExample WHERE exRecordID = " & lngID
    Set rst = CurrentDb.OpenRecordset(strSQL, dbOpenDynaset)
    If rst.EOF = False Then
        With rst
            .Edit
            !exName = "ИЗМЕНЁННОЕ значение Записи №: " & Format(lngID, "0000") & "!"
            !exChanged = Now()
            .Update
        End With
    End If
    On Error Resume Next
    rst.Close
    Set rst = Nothing



Ещё вариант:

Private Sub FindAndChange()
Dim strCriteria As String
Dim rst As Recordset
'Открытие набора записей и использование метода FindFirst для поиска записи
'--------------------------------------------------------------------
On Error GoTo FindAndChange_Err
    Set rst = CurrentDb.OpenRecordset("tblExample", dbOpenDynaset)

'Установка критериев поиска
    strCriteria = "exName = 'НЕКОЕ Значение'"

    With rst
        If .EOF = True Then GoTo FindAndChange_Bye 'Если таблица пустая то на выход...
        .MoveLast   'Заполнение набора записями
        .MoveFirst  'Возврат в начало
        'Поиск
        .FindFirst strCriteria
            If Not rst.NoMatch Then 'Если искомое найдено
                 'Вкл режим редактирования
                .Edit
                 'Изменение значения поля
                !exName = "НОВОЕ ЗНАЧЕНИЕ текст. поля!"
                .Update    'Сохранение
            Else
                MsgBox "По указанным критериям:" & vbCrLf & strCriteria & vbCrLf & " - запись не найдена!, vbInformation"
            End If
    End With

FindAndChange_Bye:
    On Error Resume Next
    rst.Close
    Set rst = Nothing
    Exit Sub

FindAndChange_Err:
    MsgBox "Error " & Err.Number & vbCrLf & Err.Description & vbCrLf & _
    "in procedure FindAndChange", vbCritical, "Error!"
    Resume FindAndChange_Bye
End Sub

Назад ToTop
L.E. 29.07.2016
Рейтинг@Mail.ru