Recordset2.Edit, méthode (DAO)
S’applique à : Access 2013, Office 2013
Copie l’enregistrement actif à partir d’un objetRecordset actualisable dans la mémoire tampon de copie à des fins de modification future.
Syntaxe
expression .Edit
Expression Variable qui représente un objet Recordset2 .
Remarques
Dès lors que vous utilisez la méthode Edit, les modifications apportées aux champs de l'enregistrement actif sont copiées dans la mémoire tampon de la copie. Après avoir apporté les modifications souhaitées à l'enregistrement, utilisez la méthode Update pour enregistrer vos modifications
L’enregistrement actif reste actif après avoir utilisé modifier.
Remarque
Si vous modifiez un enregistrement et puis d’effectuer une opération qui déplace vers un autre enregistrement, mais sans utiliser première mise à jour, vos modifications sont perdues sans avertissement. De plus, si vous fermez l’objet Recordset ou mettez fin à la procédure déclarant l’objet Recordset, l’objet parent Database ou l’objet Connection, votre enregistrement modifié est ignoré sans avertissement.
À l’aide de modifier génère une erreur si :
Il n’existe aucun enregistrement actif.
Le connexion, base de données, ou jeu d’enregistrements objet a été ouvert en lecture seule.
Aucun les champs dans l’enregistrement ne sont modifiables.
Le base de données ou jeu d’enregistrements a été ouvert usage exclusif par un autre utilisateur (espace de travail Microsoft Access).
un autre utilisateur a verrouillé la page contenant votre enregistrement (espace de travail Microsoft Access).
Dans un espace de travail Microsoft Access, lorsque la propriété LockEdits de l'objet Recordset a la valeur True (verrouillage pessimiste) dans un environnement multi-utilisateur, l'enregistrement reste verrouillé du moment où vous utilisez Edit jusqu'à la fin de la mise à jour. Si la propriété LockEdits a la valeur False (verrouillage optimiste), l'enregistrement est verrouillé et comparé à l'enregistrement tel qu'il était avant sa modification juste avant sa mise à jour dans la base de données. Si l'enregistrement a changé depuis l'utilisation de la méthode Edit, l'opération Update échoue avec une erreur d'exécution si vous utilisez OpenRecordset sans spécifier dbSeeChanges. Par défaut, les bases de données ODBC et ISAM installables connectées au moteur de base de données Microsoft Access utilisent toujours un verrouillage optimiste.
Remarque
[!REMARQUE] Pour ajouter, modifier ou supprimer un enregistrement, ce dernier doit être affecté d'un index unique dans la source de données sous-jacente. Si ce n'est pas le cas, une erreur « Autorisation refusée » se produira lors d'un appel à la méthode AddNew, Delete ou Edit dans un espace de travail espace de travail Microsoft Access.
Exemple
Cet exemple de code montre comment utiliser la méthode Edit pour remplacer les données actuelles par le nom spécifié. La procédure EditName est nécessaire à l'exécution de cette procédure.
Sub EditX()
Dim dbsNorthwind As Database
Dim rstEmployees As Recordset2
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 Recordset2, _
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