Partage via


Opération de commandes non paramétrables

Pour les commandes non paramétrables, toutes les commandes du fournisseur sont exécutées et les jeux d’enregistrements sont créés pendant l’exécution de la commande. Si la commande est exécutée de manière synchrone, tous les jeux d’enregistrements sont entièrement renseignés. Si un mode de population asynchrone a été sélectionné, l'état de remplissage des jeux d'enregistrements dépend du mode de population et de la taille des jeux d'enregistrements .

Par exemple, la commande parente peut renvoyer un jeu d’enregistrements de clients pour une entreprise à partir d’une table Customers, et la commande enfant peut renvoyer un jeu d’enregistrements de commandes pour tous les clients d’une table Commandes.

SHAPE {SELECT * FROM Customers}   
   APPEND ({SELECT * FROM Orders} AS chapOrders   
   RELATE customerID TO customerID)  

Pour les relations parent-enfant non paramétrables, chaque objet Recordset parent et enfant doit avoir une colonne en commun pour les associer. Les colonnes sont nommées dans la clause RELATE, d'abord la colonne parente , puis la colonne enfant . Les colonnes peuvent avoir des noms différents dans leurs Recordset respectifs objets, mais doivent faire référence aux mêmes informations afin de spécifier une relation significative. Par exemple, les objets Customers et Orders Recordset peuvent tous deux avoir un champ IDClient. Étant donné que l’appartenance au jeu d’enregistrements enfant est déterminée par la commande fournisseur, le jeu d’enregistrements enfant peut contenir des lignes orphelines. Ces lignes orphelines sont inaccessibles sans une réorganisation supplémentaire.

La mise en forme des données ajoute une colonne de chapitre au jeu d’enregistrements parent . Les valeurs de la colonne de chapitre sont des références aux lignes du jeu d’enregistrements enfant , qui répondent à la clause RELATE. Autrement dit, la même valeur se trouve dans la colonne parente d’une ligne parente donnée, comme dans la colonne enfant de toutes les lignes du chapitre enfant. Lorsque plusieurs clauses TO sont utilisées dans la même clause RELATE, elles sont implicitement combinées à l’aide d’un opérateur AND. Si les colonnes parentes de la clause RELATE ne constituent pas une clé dans le jeu d'enregistrements parent , alors une seule ligne enfant peut être associée à plusieurs lignes parentes.

Lorsque vous accédez à la référence dans la colonne de chapitre, ADO récupère automatiquement le jeu d’enregistrements représenté par la référence. Notez que dans une commande non paramétrée, bien que le Recordset enfant dans son intégralité ait été récupéré, le chapitre ne présente qu'un sous-ensemble de lignes.

Si la colonne ajoutée n’a aucun alias de chapitre , un nom sera généré automatiquement. Un objet Field pour la colonne sera ajouté à la collection Fields de l'objet Recordset, et son type de données sera adChapter.

Pour plus d’informations sur la navigation dans un jeu d’enregistrements hiérarchique , consultez Accès aux lignes dans un jeu d’enregistrements hiérarchique.

Voir aussi

exemple de mise en forme des données
grammaire formelle de formes
Commandes de forme en général