Formal Shape Grammar
This is the formal grammar for creating any shape command:
Required grammatical terms are text strings delimited by angle brackets ("<>").
Optional terms are delimited by square brackets ("[ ]").
Alternatives are indicated by a virgule ("|").
Repeating alternatives are indicated by an ellipsis ("...").
Alpha indicates a string of alphabetical letters.
Digit indicates a string of numbers.
Unicode-digit indicates a string of unicode digits.
All other terms are literals.
Term | Definition |
---|---|
<shape-command> | SHAPE [<table-exp> [[AS] <alias>]][<shape-action>] |
<table-exp> | {<provider-command-text>} | (<shape-command>) | TABLE <quoted-name> | <quoted-name> |
<shape-action> | APPEND <aliased-field-list> | COMPUTE <aliased-field-list> [BY <field-list>] |
<aliased-field-list> | <aliased-field> [, <aliased-field...>] |
<aliased-field> | <field-exp> [[AS] <alias>] |
<field-exp> | (<relation-exp>) | <calculated-exp> | <aggregate-exp> | <new-exp> |
<relation_exp> | <table-exp> [[AS] <alias>] RELATE <relation-cond-list> |
<relation-cond-list> | <relation-cond> [, <relation-cond>...] |
<relation-cond> | <field-name> TO <child-ref> |
<child-ref> | <field-name> | PARAMETER <param-ref> |
<param-ref> | <number> |
<field-list> | <field-name> [, <field-name>] |
<aggregate-exp> | SUM(<qualified-field-name>) | AVG(<qualified-field-name>) | MIN(<qualified-field-name>) | MAX(<qualified-field-name>) | COUNT(<qualified-alias> | <qualified-name>) | STDEV(<qualified-field-name>) | ANY(<qualified-field-name>) |
<calculated-exp> | CALC(<expression>) |
<qualified-field-name> | <alias>.[<alias>...]<field-name> |
<alias> | <quoted-name> |
<field-name> | <quoted-name> [[AS] <alias>] |
<quoted-name> | "<string>" | '<string>' | [<string>] | <name> |
<qualified-name> | alias[.alias...] |
<name> | alpha [ alpha | digit | _ | # | : | ...] |
<number> | digit [digit...] |
<new-exp> | NEW <field-type> [(<number> [, <number>])] |
<field-type> | An OLE DB or ADO data type. |
<string> | unicode-char [unicode-char...] |
<expression> | A Visual Basic for Applications expression whose operands are other non-CALC columns in the same row. |
See Also
Accessing Rows in a Hierarchical Recordset
Data Shaping Overview
Required Providers for Data Shaping
Shape APPEND Clause
Shape Commands in General
Shape COMPUTE Clause
Visual Basic for Applications functions