Partager via


AddNew, méthode (ADO)

S’applique à : Access 2013, Office 2013

Crée un enregistrement pour un objet Recordset actualisable.

Syntaxe

recordset. AddNew FieldList, Values

Paramètres

Paramètre Description
recordset Objet Recordset.
FieldList Optional. Nom unique ou tableau de noms ou de positions ordinales des champs dans le nouvel enregistrement.
Valeurs Optional. Valeur unique ou tableau de valeurs des champs dans le nouvel enregistrement. Si Fieldlist est un tableau, Values doit aussi être un tableau avec le même nombre de membres, sans quoi, une erreur se produit. L'ordre des noms de champs doit correspondre à celui des valeurs de ces champs dans chaque tableau.

Remarques

Faites appel à la méthode AddNew pour créer et initialiser un enregistrement. Utilisez la méthode Supports avec adAddNew (une valeur CursorOptionEnum) pour vérifier si vous pouvez ajouter des enregistrements à l'objet Recordset actif.

Une fois la méthode AddNew appelée, le nouvel enregistrement devient l'enregistrement actif et reste actif jusqu'à ce que vous appeliez la méthode Update. Comme ce nouvel enregistrement est ajouté au Recordset, l'appel de MoveNext après Update déplace la position actuelle au delà de l'objet Recordset et EOF prend la valeur True. Si l'objet Recordset ne prend pas en charge les signets, vous risquez de ne pas pouvoir accéder au nouvel enregistrement après être passé à un autre enregistrement. Selon le type de curseur que vous utilisez, il vous faudra peut-être appeler la méthode Requery pour rendre le nouvel enregistrement accessible.

Si vous appelez la méthode AddNew pendant que vous modifiez l'enregistrement actif ou que vous ajoutez un nouvel enregistrement, ADO appelle la méthode Update pour enregistrer les modifications apportées, puis crée l'enregistrement.

Le comportement de la méthode AddNew dépend du mode de mise à jour de l'objet Recordset et selon que vous passez des arguments Fieldlist et Values.

En mode de mise à jour immédiate (dans lequel le fournisseur écrit les modifications apportées dans la source de données sous-jacente dès que vous appelez la méthode Update), l’appel de la méthode AddNew sans arguments attribue la valeur adEditAdd (une valeur EditModeEnum) à la propriété EditMode. Le fournisseur met en cache toutes les modifications locales de valeurs de champ. L’appel de la méthode Update publie le nouvel enregistrement dans la base de données et réinitialise la propriété EditMode à adEditNone (valeur EditModeEnum). Si vous passez les arguments Fieldlist et Values, ADO publie immédiatement le nouvel enregistrement dans la base de données (aucun appel de la méthode Update n’est requis) ; la valeur de la propriété EditMode reste inchangée (adEditNone).

En mode de mise à jour par lots (dans lequel le fournisseur met en cache plusieurs modifications et les écrit dans la source de données sous-jacente uniquement lorsque vous appelez la méthode UpdateBatch ), l’appel de la méthode AddNew sans arguments affecte à la propriété EditMode la valeur adEditAdd. Le fournisseur met toutes les modifications des valeurs de champ dans un cache local. L’appel de la méthode Update ajoute le nouvel enregistrement à l’objet Recordset actif et réinitialise la propriété EditMode à adEditNone, mais le fournisseur ne publie pas les modifications apportées à la base de données sous-jacente tant que vous n’appelez pas la méthode UpdateBatch . Si vous transmettez les arguments Fieldlist et Values , ADO envoie le nouvel enregistrement au fournisseur pour le stockage dans un cache ; vous devez appeler la méthode UpdateBatch pour publier le nouvel enregistrement dans la base de données sous-jacente.