Partager via


Shape Append, clause

S’applique à : Access 2013, Office 2013

La clause APPEND de commande SHAPE ajoute une ou plusieurs colonnes à un objet Recordset. Souvent, ces colonnes sont des chapitres qui font référence à un objet Recordset enfant.

Syntaxe

 
SHAPE [parent-command [[AS] parent-alias]] APPEND column-list

Description

Cette clause comporte les parties suivantes :

  • parent-command

  • Un des éléments suivants ou aucun (vous pouvez omettre parent-command complètement) :

    • Commande fournisseur entre accolades (« {} ») qui retourne un objet Recordset. La commande est transmise au fournisseur de données sous-jacent et sa syntaxe dépend des exigences du fournisseur. Elle est en général écrite en langage SQL, même si ADO n'exige pas de langage de requête particulier.

    • Autre commande Shape placée entre parenthèses.

    • Mot-clé TABLE, suivi du nom d'une table du fournisseur de données.

  • parent-alias

    • Alias facultatif qui fait référence à l'objet Recordset parent.
  • column-list

    • Un ou plusieurs des éléments suivants :

      • Colonne agrégée.

      • Colonne calculée.

      • Nouvelle colonne créée avec la clause NEW.

      • Colonne de chapitre. Une définition de colonne de chapitre est placée entre parenthèses (« () »). Reportez-vous à la syntaxe ci-dessous

        
        SHAPE [parent-command [[AS] parent-alias]] 
        APPEND (child-recordset [ [[AS] child-alias] 
        RELATE parent-column TO child-column | PARAMETER param-number, ... ]) 
        [[AS] chapter-alias] 
        [, ... ] 
        
  • child-recordset

    • Commande fournisseur entre accolades (« {} ») qui retourne un objet Recordset. La commande est transmise au fournisseur de données sous-jacent et sa syntaxe dépend des exigences du fournisseur. Elle est en général écrite en langage SQL, même si ADO n'exige pas de langage de requête particulier.

    • Autre commande Shape placée entre parenthèses.

    • Nom d'un objet Recordset mis en forme existant.

    • Mot-clé TABLE, suivi du nom d'une table du fournisseur de données.

  • child-alias

    • Alias qui fait référence à l'objet Recordset enfant.
  • parent-column

    • Colonne de l'objet Recordset retournée par parent-command.
  • child-column

    • Colonne de l'objet Recordset retournée par child-command.
  • param-number

  • chapter-alias

    • Alias qui fait référence à la colonne de chapitre ajoutée au parent.

Remarque

  • La clause « parent-column TO child-column » est en fait une liste, où chaque relation définie est séparée par une virgule.
  • La clause suivant le mot-clé APPEND est en fait une liste, dans laquelle chaque clause est séparée par une virgule et définit une autre colonne à ajouter au parent.

Remarques

Lorsque vous créez des commandes de fournisseur depuis une entrée utilisateur dans le cadre d'une commande SHAPE, SHAPE traite la commande fournisseur fournie par l'utilisateur sous la forme d'une chaîne opaque et la passe fidèlement au fournisseur. Par exemple, dans la commande SHAPE suivante,

 
SHAPE {select * from t1} APPEND ({select * from t2} RELATE k1 TO k2) 

SHAPE exécute deux commandes : select * from t1 et (select * from t2 RELATE k1 TO k2). Si l'utilisateur fournit une commande composée de plusieurs commandes fournisseur séparées par des points-virgules, SHAPE ne sera pas capable de discerner les composantes de la commande. Ainsi, dans la commande SHAPE suivante,

 
SHAPE {select * from t1; drop table t1} APPEND ({select * from t2} RELATE k1 TO k2) 

SHAPE exécute select * from t1; drop table t1 et (select * from t2 RELATE k1 TO k2), sans réaliser que drop table t1 est distinct et dans ce cas, il s'agit d'une commande de fournisseur dangereuse. Les applications doivent toujours valider l'entrée utilisateur pour empêcher d'éventuelles attaques de pirates.

Cette section contient les rubriques suivantes :