私は何百回もやったことをしようとしていますが、突然動作しません。VBAでのテーブル化された.connectプロパティの変更
acc.AutomationSecurity = msoAutomationSecurityLow 'Remove Security Prompt
acc.OpenCurrentDatabase path & "Year " & Range("yr") & "\" & Range("yr") & Range("mo") & "\Year " & Range("yr") & Range("mo") & " GENERIC DB NAME.mdb", True
'update link
acc.CurrentDb.TableDefs("TABLE NAME").Connect = "MS Access;DATABASE=" & path & "Year " & Range("yr") & "\" & Range("yr") & Range("mo") & "\Year " & Range("yr") & Range("mo") & " OTHER DB.mdb"
acc.CurrentDb.TableDefs("TABLE NAME").RefreshLink
これは、我々は最近、エクセル2010に更新し、DBはまだAccess 2003のですが、これを実行するコードの単純なビットであるべきという事実に関連している場合、私は知りません。上記のコードを実行すると何も起こりません。ファイルは正しい方法で開きますが、接続文字列はテーブルのdefオブジェクトに割り当てられません。エラーなく実行されますが、テーブルは新しいデータベースにリンクしていません。私は次のコードが動作し、問題を回避するためにそれを使用したことがわかりました。私はまだ興味がありますが、スタイル 'application.currentdb.tabledef( "TABLE").connect'の.connectプロパティに値を割り当てることができないのですが、currentdbを新しいデータベースオブジェクトに割り当てるとできます。
だから私はなぜ知らないが、私はこれを使用している場合、それはあなたが提供することができます任意の助け
dim db as DAO.database
set db = acc.CurrentDb
db.TableDefs("TABLE NAME").Connect = "MS Access;DATABASE=" & path & "Year " & Range("yr") & "\" & Range("yr") & Range("mo") & "\Year " & Range("yr") & Range("mo") & " OTHER DB.mdb"
db.TableDefs("TABLE NAME").RefreshLink
おかげで動作します。
?エラーメッセージとは何ですか? – mwolfe02
これは失敗しません。connectプロパティは変更されません。 – user1082270
あなたの質問を更新して、「うまくいかない」という正確な定義を与えてください。 –