This is the formal grammar for creating any shape command:
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. |
Accessing Rows in a Hierarchical Recordset | Data Shaping Summary | Required Providers for Data Shaping | Shape APPEND Clause | Shape Commands in General | Shape COMPUTE Clause | Visual Basic for Applications Functions