接続を開いたままにしてみましたか?これは、別の accdb のリンクされたテーブルにのみ適用される可能性がありますが、確かではありません。
私はしばらく前にこの問題を抱えていたので、Access が実行されている限り接続を開いたままにしています。
Public Sub updateTables(bClose As Boolean)
Dim dbsCurrent As Database
Dim tdfSingle As TableDef
Dim tdfCollection As TableDefs
Dim sBasePath As String, sPath As String
Set dbsCurrent = CurrentDb
Set tdfCollection = dbsCurrent.TableDefs
Set dbsHold = dbsCurrent
Static dbsOpen As DAO.Database
If bClose Then
dbsOpen.Close
Else
sBasePath = Left(CurrentDb.Name, InStrRev(CurrentDb.Name, "\")) & "SB-Support\"
sPath = GetUNC(sBasePath & "data.dat")
Set dbsOpen = OpenDatabase(sPath, False, False, "MS Access;")
For Each tdfSingle In tdfCollection
If tdfSingle.SourceTableName <> "" Then
If tdfSingle.Fields.Count = 0 Then
tdfSingle.Connect = ";DATABASE=" & sPath
tdfSingle.RefreshLink
End If
End If
Next
End If
Exit Sub
サブ終了
最初はここから取得したと思います:
http://www.fmsinc.com/microsoftaccess/performance/linkeddatabase.html
SQLサーバーの要件はありませんが、SQL接続用のOpenDatabaseについて簡単なグーグルでこれを教えてくれました:
Dim cs As String
Dim cn As DAO.Database
Dim ws As DAO.Workspace
Set ws = DBEngine.Workspaces(0)
cs = "ODBC;DRIVER=SQL Server;SERVER=Main\SQLEXPRESS;DATABASE=Workwise;APP=Visual Basic" 'UID=Peter;PWD="
Set cn = ws.OpenDatabase("Workwise", dbDriverNoPrompt, True, cs)
http://www.vbforums.com/archive/index.php/t-572723.html