Freigeben über


Shape Append-Klausel

Gilt für: Access 2013, Office 2013

The shape command APPEND clause appends a column or columns to a Recordset. Often these columns are chapter columns, which refer to a child Recordset.

Syntax

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

Beschreibung

Die Teile dieser Klausel lauten wie folgt:

  • parent-command

  • Keiner oder einer der Folgenden (Sie können parent-command ganz weglassen):

    • Ein Anbieterbefehl in geschweiften Klammern ("{}"), der ein Recordset -Objekt zurückgibt. Der Befehl wird an den zugrunde liegenden Datenprovider ausgegeben, und die Syntax hängt von den Anforderungen dieses Anbieters ab. Normalerweise handelt es sich dabei um die SQL-Sprache, obwohl für ADO keine bestimmte Abfragesprache erforderlich ist.

    • Another shape command embedded in parentheses.

    • Das TABLE-Schlüsselwort, gefolgt vom Namen einer Tabelle im Datenprovider.

  • parent-alias

    • Ein optionaler Alias, das auf das übergeordnete Recordset -Objekt verweist.
  • column-list

    • Mindestens eines der Folgenden:

      • Eine Aggregatspalte.

      • Eine berechnete Spalte.

      • Eine neue Spalte, die mit der NEW-Klausel erstellt wird.

      • Eine Kapitelspalte. Eine Kapitelspaltendefinition wird in Klammern ("()") eingeschlossen. Siehe nachstehende Syntax:

        
        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

    • Ein Anbieterbefehl in geschweiften Klammern ("{}"), der ein Recordset -Objekt zurückgibt. Der Befehl wird an den zugrunde liegenden Datenprovider ausgegeben, und die Syntax hängt von den Anforderungen dieses Anbieters ab. Normalerweise handelt es sich dabei um die SQL-Sprache, obwohl für ADO keine bestimmte Abfragesprache erforderlich ist.

    • Another shape command embedded in parentheses.

    • Der Name eines vorhandenen geformten Recordset-Objekts.

    • Das TABLE-Schlüsselwort, gefolgt vom Namen einer Tabelle im Datenprovider.

  • child-alias

    • Ein Alias, der auf das untergeordnete Recordset -Objekt verweist.
  • parent-column

    • Eine Spalte im Recordset-Objekt, die von parent-command zurückgegeben wird.
  • child-column

    • Eine Spalte im Recordset-Objekt, die von child-command zurückgegeben wird.
  • param-number

  • chapter-alias

    • Ein Alias, der auf die dem übergeordneten Element angefügte Kapitelspalte verweist.

Hinweis

  • Die Klausel "parent-column TO child-column" ist eigentlich eine Liste, bei der jede definierte Beziehung durch ein Komma getrennt ist.
  • Die Klausel hinter dem APPEND-Schlüsselwort ist tatsächlich eine Liste, in der die einzelnen Klauseln durch ein Komma getrennt werden und eine weitere Spalte definiert wird, die der übergeordneten Spalte angefügt werden soll.

Hinweise

Wenn Sie Anbieterbefehle aus Benutzereingaben als Teil eines SHAPE-Befehls erstellen, wird der vom Benutzer bereitgestellte Anbieterbefehl von SHAPE als undurchsichtige Zeichenfolge behandelt und originalgetreu dem Anbieter übergeben. Beispielsweise werden im folgenden SHAPE-Befehl

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

zwei Befehle ausgeführt: select * from t1 und (select * from t2 RELATE k1 TO k2). Wenn der Benutzer einen Verbundbefehl bereitstellt, der aus mehreren durch Semikolons getrennten Anbieterbefehlen besteht, wird der Unterschied von SHAPE nicht erkannt. Im folgenden SHAPE-Befehl

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

wird select * from t1; drop table t1 und (select * from t2 RELATE k1 TO k2), ausgeführt, ohne dass erkannt wird, dass es sich bei drop table t1 um einen separaten und in diesem Fall gefährlichen Anbieterbefehl handelt. Die Benutzereingabe muss von Anwendungen immer überprüft werden, um derartige potenzielle Hackerangriffe zu verhindern.

Dieser Abschnitt enthält die folgenden Themen: