2016-11-17 4 views
0

У меня есть база данных, которая работает хорошо в течение пары лет до сегодняшнего утра. Когда я пытаюсь скопировать содержимое удаленной таблицы в локальный бэкэнд, мне присваивается ошибка: «Ошибка 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 

Что мне не хватает? Любые предложения, чтобы избежать/исправить.

+0

Я думаю, что есть что-то происходит с SQL строки. 'Debug.Print' перед выполнением. См. [Как отлаживать динамический SQL в VBA] (http://stackoverflow.com/questions/418960/managing-and-debugging-sql-queries-in-ms-access/1099570#1099570) – Andre

+0

debug.print выглядит хорошо: INSERT INTO Элемент SELECT dbo_Item. * FROM dbo_Item WHERE dbo_Item.MASTER_INVID = 4892 –

+1

@Andre - вы можете попасть на что-то там! Я был подключен к неправильному серверу, где этот «Master_InvID» attr не был частью модели данных. Это attr создается после того, как я связывался. - Благодаря! –

ответ

1

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

localTableName = "Item" 
DoCmd.CopyObject , localTableName , acTable, "dbo_Item" 
DoCmd.SelectObject acTable, localTableName , True 
RunCommand acCmdConvertLinkedTableToLocal 
+0

Это интересно, я никогда не слышал о 'acCmdConvertLinkedTableToLocal'. Работает ли она для связанных ссылок ODBC или только для таблиц, связанных из базы данных Access? – Andre

+0

Да, он также работает из источников ODBC, таких как SQL-серверы. – ClintB

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