Eu não sei o que você quer dizer com "console para todos os fins", mas talvez dentro do Access seja a Janela Imediata que atenderá às suas necessidades. Se você pressionar Ctrl-G no teclado da janela principal do Access, você será direcionado para a janela Immediate no VBE e poderá digitar:
CurrentDB.Execute "CREATE TABLE Foo (Foo_Id int NOT NULL, Name varchar(255) NOT NULL, CONSTRAINT pk_FooID PRIMARY KEY (Foo_Id,Name))"
É uma interface de linha única, portanto, não há formatação SQL, mas ela executará o SQL.
O problema com o uso do CurrentDB como seu objeto de execução é que ele retorna um novo objeto de banco de dados toda vez que você o chama (para garantir que todas as suas coleções estejam atualizadas). Uma alternativa seria:
DBEngine(0)(0).Execute "CREATE TABLE Foo (Foo_Id int NOT NULL, Name varchar(255) NOT NULL, CONSTRAINT pk_FooID PRIMARY KEY (Foo_Id,Name))"
Como o DBEngine (0) (0) sempre retorna o mesmo objeto, você pode verificar coisas como:
DBEngine(0)(0).RecordsAffected
O "problema" com isso é que, se você estiver alterando as coleções do banco de dados, precisará se lembrar de atualizá-las antes de usá-las. Por exemplo, se você adicionar ou excluir uma tabela, deverá atualizar a coleção TableDefs para a coleção para estar atualizada:
DBEngine(0)(0).TableDefs.Refresh
Outra alternativa seria usar um objeto de banco de dados em cache, como eu faço em todos os meus aplicativos, mas isso não evita o problema de atualização de coleções, mas apenas facilita a digitação (acho DBEngine digitando (0) (0 ) ser bastante propenso a erros, e achar minha função dbLocal muito mais fácil de usar).