Table of contents
XML
TOC
Réduire la table des matières
Développer la table des matières

Ajouter un enregistrement à un jeu d'enregistrements DAO

office 365 dev account|Dernière mise à jour: 04/10/2017
|
1 Contributeur

Vous pouvez ajouter un nouvel enregistrement à un objet Recordset de type table ou feuille de réponse dynamique à l'aide de la méthode AddNew.

Pour ajouter un enregistrement à un objet Recordset de type table ou feuille de réponse dynamique :

  1. Utilisez la méthode AddNew pour créer un enregistrement que vous pouvez modifier.

  2. Attribuez des valeurs à chacun des champs de l'enregistrement.

  3. Utilisez la méthode Update pour enregistrer le nouvel enregistrement.

L'exemple de code suivant ajoute un objet Recordset de type table appelé Shippers (Expéditeurs).

Dim dbsNorthwind As DAO.Database
Dim rstShippers As DAO.Recordset

   Set dbsNorthwind = CurrentDb
   Set rstShippers = dbsNorthwind.OpenRecordset("Shippers")

   rstShippers.AddNew
   rstShippers!CompanyName = "Global Parcel Service"
      .
      . ' Set remaining fields.
      .

   rstShippers.Update

Lorsque vous utilisez la méthode AddNew, le moteur de base de données Access prépare un nouvel enregistrement vide qui est l'enregistrement actif. Lorsque vous utilisez la méthode Update pour enregistrer le nouvel enregistrement, l'enregistrement qui était actif avant que vous n'utilisiez la méthode AddNew devient de nouveau l'élément actif.

La position du nouvel enregistrement dans l'objet Recordset est différente selon si vous avez ajouté l'enregistrement à un objet Recordset de type table ou de type feuille de réponse dynamique. Si vous ajoutez un enregistrement à un objet Recordset de type feuille de réponse dynamique, le nouvel enregistrement apparaît à la fin de l'objet Recordset, quelle que soit la manière dont l'objet Recordset est trié. Pour que le nouvel enregistrement apparaisse à la position appropriée, vous pouvez utiliser la méthode Requery ou recréer l'objet Recordset.

Si vous ajoutez un enregistrement à un objet Recordset de type table, la position de l'enregistrement est déterminée par l'index actif, en revanche, si aucun index n'est actif, l'enregistrement apparaît à la fin de la table. Étant donné que le moteur de base de données Microsoft Access permet à plusieurs utilisateurs de créer simultanément plusieurs enregistrements dans une table, l'enregistrement que vous ajoutez peut ne pas apparaître à la fin de l'objet Recordset. Utilisez la méthode LastModified au lieu de la méthode MoveLast pour accéder à l'enregistrement que vous venez d'ajouter.

Remarque Si vous utilisez la méthode AddNew pour ajouter un enregistrement et si vous accédez à un autre enregistrement ou si fermez l'objet Recordset sans avoir d'abord utilisé la méthode Update, les changement que vous avez effectués seront perdus sans avertissement préalable. Par exemple, si vous omettez la méthode Update dans l'exemple précédent, aucun changement ne sera apporté à la table Shippers (Expéditeurs).

© 2018 Microsoft