2015-04-04 2 views
0

У меня есть форма, где я использую VBA код, в котором я определил STRSQL, как Вставить в и применяющего CurrentDb.Execute STRSQLне может вставить в связанную таблицу SQL из формы доступа

Он работает отлично подходит для локальной таблицы, но когда я попытался использовать его в связанной таблице, ничего не вставлено, и я не получаю никакого сообщения об ошибке.

Обратите внимание, что если я конвертирую связанную таблицу в локальную, то вложение также отлично работает.

У меня есть первичный ключ в моей связанной таблице, и я могу заполнить его вручную.

Я также заметил, что большая часть моего типа данных в связанной таблице является Text, а не Date, как определено на SQL-сервере.

Пользователь SQL, который я использовал, имеет права на запись в таблицу.

ответ

0

CurrentDb - это объект DAO, ссылающийся на текущую локальную базу данных. Вам необходимо подключить таблицы SQL Server через DAO ODBC-соединение для использования команды db.Execute.

В качестве альтернативы вы можете создать добавленный хранимый запрос, взаимодействующий со связанными таблицами, и вызвать его с помощью DoCmd.OpenQuery или использовать строку запроса VBA с добавлением DoCmd.RunSQL.

+0

Как я могу использовать эти команды с моей определенной строкой STRSQL? – Scorpion99

+0

Я упоминаю, как в моем ответе: 1) создать новый объект запроса append, подобный вашей строке VBA (минус переменные и внешние кавычки), сохранить запрос и вызвать его в VBA 'DoCmd.OpenQuery qryname' или 2) запустить команду 'DoCmd.RunSQL strsql' в VBA. Возможно, вам нужно установить предупреждения False, чтобы избежать добавления запроса. Для получения дополнительной информации, Google команды. – Parfait

Смежные вопросы