У меня есть база данных, которая работает хорошо в течение пары лет до сегодняшнего утра. Когда я пытаюсь скопировать содержимое удаленной таблицы в локальный бэкэнд, мне присваивается ошибка: «Ошибка 3622 - вы должны использовать опцию dbSeeChanges ...»Ошибка MSAccess - dbSeeChanges?
Удаленная таблица находится на сервере и делает имеют атрибут AutoNumber. Бэкэнд-таблица представляет собой простой моментальный снимок readonly/static, который не заботится о типе типа автоматической нумерации и определяется просто как Number - мне просто нужна таблица (моментальный снимок), чтобы быть локальной для проблем производительности.
Я добавил переменную dbSeeChanges без успеха - жалуется на «Слишком мало параметров» в строке db.execute (см. Ниже).
Вот некоторые детали из моей БД:
Dim db As Database
dim strSQL as string
Set db = CurrentDb()
strSQL = "INSERT INTO Item " & _
"SELECT dbo_Item.* " & _
"FROM dbo_Item " & _
"WHERE dbo_Item.MASTER_INVID= " & TempVars!my_InvID
db.Execute strSQL, dbFailOnError + dbSeeChanges
Что мне не хватает? Любые предложения, чтобы избежать/исправить.
Я думаю, что есть что-то происходит с SQL строки. 'Debug.Print' перед выполнением. См. [Как отлаживать динамический SQL в VBA] (http://stackoverflow.com/questions/418960/managing-and-debugging-sql-queries-in-ms-access/1099570#1099570) – Andre
debug.print выглядит хорошо: INSERT INTO Элемент SELECT dbo_Item. * FROM dbo_Item WHERE dbo_Item.MASTER_INVID = 4892 –
@Andre - вы можете попасть на что-то там! Я был подключен к неправильному серверу, где этот «Master_InvID» attr не был частью модели данных. Это attr создается после того, как я связывался. - Благодаря! –