Я знаю, что Вы можете открыть консоль SQL в Доступе при создании запроса или представления, но являетесь там 'всей целью' консоль, которая позволила бы мне выполнять операторы как:
CREATE TABLE Foo
(
Foo_Id int NOT NULL,
Name varchar(255) NOT NULL,
CONSTRAINT pk_FooID PRIMARY KEY (Foo_Id,Name)
)
Я не знаю то, что Вы подразумеваете "под универсальной консолью", но возможно в Доступе это - Непосредственное Окно, которое удовлетворит Ваши потребности. При ударе Ctrl-G в клавиатуру из основного окна Access которое возьмет Вас к Непосредственному Окну в VBE, и там Вы могли ввести:
CurrentDB.Execute "CREATE TABLE Foo (Foo_Id int NOT NULL, Name varchar(255) NOT NULL, CONSTRAINT pk_FooID PRIMARY KEY (Foo_Id,Name))"
Это - однострочный интерфейс, таким образом, никакое форматирование SQL, но это выполнит SQL.
Проблема с использованием CurrentDB как Ваш объект выполнения состоит в том, что это возвращает новый объект базы данных каждый раз, когда Вы называете его (чтобы обеспечить, чтобы все его наборы были актуальны). Альтернатива была бы:
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))"
Начиная с DBEngine (0) (0) всегда возвраты тот же объект, можно затем проверить вещи как:
DBEngine(0)(0).RecordsAffected
"Проблема" с этим состоит в том, что при изменении наборов базы данных необходимо не забыть обновлять их перед использованием их. Например, если бы Вы добавляете или удаляете таблицу, необходимо было бы обновить набор TableDefs к набору быть актуальными:
DBEngine(0)(0).TableDefs.Refresh
Другая альтернатива должна была бы использовать кэшируемый объект базы данных, как я делаю во всех своих приложениях, но она не избегает, чтобы наборы обновили проблему, но просто помогает ввести (я нахожу ввод DBEngine (0) (0), чтобы быть довольно подверженным ошибкам, и найти мою функцию dbLocal намного легче использовать).
Я не полагаю, что Доступ когда-либо действительно думался как используемый для использования SQL общего назначения как составление таблиц и что нет. Вы даже не можете использовать 'хранимые процедуры' как Вы, был бы на обычном SQL-сервере. Я думаю, что Вы будете разобьете, если Вы начнете использовать Доступ, не используя Visual Designer.
Удачи!
Используя ADP для соединения с SQL Server может дать Вам, что Вы хотите. Однако я не знаю, до какой степени Access, 2003 позволяет Вам создавать представления и хранимые процедуры в SQL Server 2005 или 2008, поскольку они были выпущены после A2003.