Interesting question. The answer is no I believe - ANSI SQL or JET SQL or any other flavour though I could be wrong.
The closest you could get to cheating this is to create a function that accepts an array of column definitions and loop through this, executing the SQL at each pass. Unlikely to be worth it unless you plan to use DDL like this really heavily.
By the way, do you know why ist it not possible to use DoCmd.RunSQL instead of CurrentDB.Execute
News to me I'm afraid. I always use the execute method.
I think it is news to Bill too - from A Help
The RunSQL method carries out the RunSQL action in Visual Basic. expression.RunSQL(SQLStatement, UseTransaction)</B>
expression Required. An expression that returns one of the objects in the Applies To list.
SQLStatement Required Variant. A string expression that's a valid SQL statement for an action query or a data-definition query. It uses an INSERT INTO, DELETE, SELECT...INTO, UPDATE, CREATE TABLE, ALTER TABLE, DROP TABLE, CREATE INDEX, or DROP INDEX statement. Include an IN clause if you want to access another database.