Partager via


Append, méthode (ADO)

Ajoute un objet à une collection. Si la collection est Fields, un nouvel objet Field peut être créé avant d’être ajouté à la collection.

Syntaxe

  
collection.Append object  
fields.Append Name, Type, DefinedSize, Attrib, FieldValue  

Paramètres

collection
Un objet de collection.

fields
Une collection Fields.

object
Une variable d’objet qui représente l’objet à ajouter.

Nom
Une valeur String qui contient le nom du nouvel objet Field et ne doit pas être le même nom que n’importe quel autre objet dans les champs.

Type
Une valeur DataTypeEnum dont la valeur par défaut est adEmpty, qui spécifie le type de données du nouveau champ. Les types de données suivants ne sont pas pris en charge par ADO et ne doivent pas être utilisés lors de l’ajout de nouveaux champs à un objet Recordset (ADO) : adIDispatch, adIUnknown, adVariant.

DefinedSize
facultatif. Une valeur Long qui représente la taille définie, en caractères ou octets, du nouveau champ. La valeur par défaut de ce paramètre est dérivée de Type. Les champs qui ont une valeur DéfinieSize supérieure à 255 octets sont traités comme des colonnes de longueur variable. La valeur par défaut pour DefinedSize n’est pas spécifiée.

Attrib
facultatif. Une valeur FieldAttributeEnum dont la valeur par défaut est adFldDefault, qui spécifie les attributs du nouveau champ. Si cette valeur n’est pas spécifiée, le champ contient des attributs dérivés de Type.

FieldValue
facultatif. Une variante qui représente la valeur du nouveau champ. Si ce n’est pas spécifié, le champ est ajouté avec une valeur Null.

Notes

Collection Parameters

Vous devez définir la propriété Type d’un objet Parameter avant de l’ajouter à la collection Parameters. Si vous sélectionnez un type de données de longueur variable, vous devez également définir la propriété Size sur une valeur supérieure à zéro.

Décrire les paramètres vous-même réduit les services du fournisseur et améliore donc les performances lorsque vous utilisez des procédures stockées ou des requêtes paramétrables. Toutefois, vous devez connaître les propriétés des paramètres associés à la procédure stockée ou à la requête paramétrable que vous souhaitez appeler.

Utilisez la méthode CreateParameter pour créer des objets Parameter avec les paramètres de propriété appropriés et utilisez la méthode Append pour les ajouter à la collection Parameters. Cela vous permet de définir et de retourner des valeurs de paramètre sans avoir à appeler le fournisseur pour les informations de paramètre. Si vous écrivez auprès d’un fournisseur qui ne fournit pas d’informations de paramètre, vous devez utiliser cette méthode pour remplir manuellement la collection Parameters afin d’utiliser des paramètres du tout.

Collection Fields

Le paramètre FieldValue est valide uniquement lors de l’ajout d’un objet Field à un objet Record, et non à un objet Recordset. Avec un objet Record, vous pouvez ajouter des champs et fournir des valeurs en même temps. Avec un objet Recordset, vous devez créer des champs pendant que l’objet Recordset est fermé, puis ouvrir l’objet Recordset et affecter des valeurs aux champs.

Notes

Pour les nouveaux objets Field qui ont été ajoutés à la collection Fields d’un objet Record, la propriété Value doit être définie avant que toutes les autres propriétés Field puissent être spécifiées. Tout d’abord, une valeur spécifique pour la propriété Value doit avoir été attribuée et mises à jour sur la collection Fields appelée. Ensuite, d’autres propriétés telles que Type ou Attributes sont accessibles. Les objets Field des types de données suivants (DataTypeEnum) ne peuvent pas être ajoutés à la collection Fields et entraînent une erreur : adArray, adChapter, adEmpty, adPropVariant et adUserDefined. En outre, les types de données suivants ne sont pas pris en charge par ADO : adIDispatch, adIUnknown et adIVariant. Pour ces types, aucune erreur ne se produit lors de l’ajout, mais l’utilisation peut produire des résultats imprévisibles, y compris les fuites de mémoire.

Ensemble d'enregistrements

Si vous ne définissez pas la propriété CursorLocation avant d’appeler la méthode Append, CursorLocation est défini sur adUseClient (valeur CursorLocationEnum) automatiquement lorsque la méthode Open de l’objet Recordset est appelée.

Une erreur d’exécution se produit si la méthode Append est appelée sur la collection Fields d’un Recordset ouvert ou sur un Recordset où la propriété ActiveConnection a été définie. Vous pouvez ajouter des champs uniquement à un Recordset qui n’est pas ouvert et qui n’a pas encore été connecté à une source de données. Il s’agit généralement du cas où un objet Recordset est fabriqué avec la méthode CreateRecordset ou affecté à une variable d’objet.

Enregistrement

Une erreur d’exécution ne se produit pas si la méthode Append est appelée sur la collection Fields d’un enregistrement ouvert. Le nouveau champ sera ajouté à la collection Fields de l’objet Record. Si l’enregistrement a été dérivé d’un Recordset, le nouveau champ n’apparaît pas dans la collection Fields de l’objet Recordset.

Un champ non existant peut être créé et ajouté à la collection Fields en affectant une valeur à l’objet de champ comme s’il existait déjà dans la collection. L’affectation déclenche la création automatique et l’ajout de l’objet Field, puis l’affectation est terminée.

Après avoir ajouté un champ à la collection Fields d’un objet Record, appelez la méthode Update de la collection Fields pour enregistrer la modification.

S'applique à

Voir aussi

Append et CreateParameter, exemple de méthodes (VB)
Append et CreateParameter, exemple de méthodes (VC++)
CreateParameter, méthode (ADO)
Delete, méthode (collection Fields ADO)
Delete, méthode (collection Parameters ADO)
Delete, méthode (objet Recordset ADO)
Update, méthode