5

私の問題についてはすでに他のページを参照していますが、まだこれを機能させることができません。以下に 3 つの例があり、まだこれを理解できないことを考えると、少し遅いと感じます。

リンクされたテーブルの場所をプログラムで変更する

リンクテーブルミリ秒アクセス2010変更接続文字列

UNC パスを使用するように Access リンク テーブルを更新する

私が使用しているコードは次のとおりです。

Dim tdf As TableDef
Dim db As Database
Set db = CurrentDb
Set tdf = db.TableDefs("DeviceListT")
tdf.Connect = "ODBC;DATABASE=" & CurrentProject.path _
                               & "\HarmonicProfileDatabase_be.accdb"
tdf.RefreshLink

問題は、実行するとウィンドウがポップアップすることです。

データ ソースの選択

私はそれで何をすべきか正確にはわかりませんし、最初にそれをポップアップさせたくありません.msアクセスファイルを他の誰かに与えることになり、彼らもこのウィンドウで何をすべきか分からないからです。 .

4

1 に答える 1

6

SQL Server 参照を使用していますが、MS Access をリンクしています。MS Access の場合、ODBC リンクは必要ありません。データベースを参照してください。

DBFile = CurrentProject.path & "\HarmonicProfileDatabase_be.accdb
''Check the file exists
strFile = Dir(DBFile)
If strFile <> "" Then
    With CurrentDb
        For Each tdf In .TableDefs
            ''Check that this is a linked table
            ''It can be useful to use table of tables instead
            If tdf.Connect Like "*HarmonicProfileDatabase_be.accdb*" Then
                tdf.Connect = ";DATABASE=" & DBFile 
                tdf.RefreshLink
            End If
        Next
    End With
    MsgBox "Link HarmonicProfileDatabase_be.accdb" 
Else
    MsgBox "Problem"
End If

以下を使用することもできます。

 sConnect = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" _
    & DBFile & ";Jet OLEDB:Database Password=pw;"
于 2013-03-28T13:13:01.603 に答える