私は今朝まで数年間よくうまくいっているデータベースを持っています。リモートテーブルの内容をローカルバックエンドにコピーしようとすると、「エラー3622 - dbSeeChangesオプションを使用する必要があります...」というメッセージが表示されます。MSAccess - dbSeeChangesエラー?
リモートテーブルはサーバー上にありますオートナンバー型属性を持つバックエンドテーブルは、自動ナンバリングデータ型を気にせず、単にナンバーとして定義されている単純な読み取り専用/静的スナップショットです。テーブル(スナップショット)がパフォーマンス上の懸案事項である必要があります。
dbSeeChanges変数を正常に追加しましたが、db.execute行(下記)の「パラメータが少なすぎます」と不平を言います。ここで
は私のDBからいくつかの詳細は以下のとおりです。私は
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は、私が接続していた場所から下流に作成されます。 - ありがとう! –