En 2003 l'utilisation des menus pour lancer des commandes n'est plus nécessaire.
Tu as l'objet Recordset dans chaque formulaire / sous-form ...
me.recordset.delete ' supprime l'enregistrement actif
Pour une copie.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
Set rstDest = Me.Recordset
Set rstOrig = Me.RecordsetClone
rstOrig.Bookmark = rstDest.Bookmark
rstDest.AddNew
For Each fld In rstOrig.Fields
If (fld.Attributes And dbAutoIncrField) Then
' champ incrément (pas de copie)
Else
rstDest.Fields(fld.Name).Value = fld.Value
End If
Next
rstDest.Update
Set rstDest = Nothing
Set rstOrig = Nothing |
On utilise le recordsetclone pour la source et recordset pour la destination.
Si tu veux utiliser ce code pour n'importe quel formulaire ou sous formulaire, quelque soit son mode d'affichage passe-lui le formulaire en paramètre et remplace le Me par la variable objet passée.
Cordialement,
Partager