Complete especification of jet-sql. Better if BNF grammar

  • Thread starter Thread starter Ricardo Hernández Sáez
  • Start date Start date
R

Ricardo Hernández Sáez

I'm working with a parser http://www.devincook.com/GOLDParser/index.htm
and want to find the grammar that define the sql dialect of the Jet Database
Engine.

I'm not talking about documents like those:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnacc2k/html/acfundsql.asp
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnacc2k/html/acintsql.asp
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnacc2k/html/acadvsql.asp

I'm looking for something like this:

<Select Stm> ::= SELECT <Columns>
<Into Clause>
<From Clause>
<Where Clause>
<Group Clause>
<Having Clause>
<Order Clause>
<Columns> ::= <Restriction> '*' | <Restriction> <Column List>
<Column List> ::= <Column Item> ',' <Column List> | <Column Item>
<Column Item> ::= <Column Source> | <Column Source> Id !ALIAS
<Column Source> ::= <Aggregate> | Id | Id '.' '*'
....

I've found the grammars ansi sql-89, ansi sql-92 and odbcm but i want
something more related to jet.
 
You don't say what version of ms-access.

For a2003, if you flip into the code editor..and go help->Microsoft Visual
Basic Help

Note the 4th option is jet sql reference, it has the syntax laid out as you
ask..

Apparently, this jet sql reference is also installed for older versions.....


You can also find it on line here

http://office.microsoft.com/en-us/assistance/CH062526881033.aspx
 
Thanks for your response.

The link is useful but incomplete. I've found similar links (but not
related to jet). In the select statement

SELECT [predicate] { * | table.* | [table.]field1 [AS alias1] [,
[table.]field2 [AS alias2] [, ...]]}
FROM tableexpression [, ...] [IN externaldatabase]
[WHERE... ]
[GROUP BY... ]
[HAVING... ]
[ORDER BY... ]
[WITH OWNERACCESS OPTION]

, we can find "FROM tableexpression" and "WHERE criteria".

¿Where are defined tableexpression and criteria?

tableexpression can be as simple a table name or a complete select with an
alias.
criteria can be as simple as "True" or a subselect using IN operator.

I'm adapting a subset of ansi sql 92. Concretely, the subtree starting
with single sql statements (i'm not interested in stored procedure
definition and similar structures)

THANKS ANYWAY ;-)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Back
Top