Edit Method Example

This example uses the Edit method to replace the current data with the specified name. The EditName procedure is required for this procedure to run.

Sub EditX()

    Dim dbsNorthwind As Database
    Dim rstEmployees As Recordset
    Dim strOldFirst As String
    Dim strOldLast As String
    Dim strFirstName As String
    Dim strLastName As String

    Set dbsNorthwind = OpenDatabase("Northwind.mdb")
    Set rstEmployees = _
        dbsNorthwind.OpenRecordset("Employees", _
        dbOpenDynaset)

    ' Store original data.
    strOldFirst = rstEmployees!FirstName
    strOldLast = rstEmployees!LastName

    ' Get new data for record.
    strFirstName = Trim(InputBox( _
            "Enter first name:"))
    strLastName = Trim(InputBox( _
            "Enter last name:"))

    ' Proceed if the user entered something for both fields.
    If strFirstName <> "" and strLastName <> "" Then
        ' Update record with new data.
        EditName rstEmployees, strFirstName, strLastName

        With rstEmployees
            ' Show old and new data.
            Debug.Print "Old data: " & strOldFirst & _
                " " & strOldLast
            Debug.Print "New data: " & !FirstName & _
                " " & !LastName
            ' Restore original data because this is a
            ' demonstration.
            .Edit
            !FirstName = strOldFirst
            !LastName = strOldLast
            .Update
        End With

    Else
        Debug.Print _
            "You must input a string for first and last name!"
    End If

    rstEmployees.Close
    dbsNorthwind.Close

End Sub

Sub EditName(rstTemp As Recordset, _
    strFirst As String, strLast As String)

    ' Make changes to record and set the bookmark to keep 
    ' the same record current.
    With rstTemp
        .Edit
        !FirstName = strFirst
        !LastName = strLast
        .Update
        .Bookmark = .LastModified
    End With

End Sub