如果 Access 与 MySQL 数据库服务器断开连接,如何刷新链接表?
Posted
技术标签:
【中文标题】如果 Access 与 MySQL 数据库服务器断开连接,如何刷新链接表?【英文标题】:How to refresh linked tables if Access disconnects from MySQL database server? 【发布时间】:2015-06-05 06:30:06 【问题描述】:所以,我需要一种方法来刷新我的 Access 数据库中的链接表,这样如果 Internet 因某种原因断开连接,发送查询时 ODBC 不会出错,只需刷新以查看查询是否可以再次发送。但是,当 Internet 恢复时,Access 数据库由于某种原因没有重新连接。如果发生这种情况,是否有办法在 VBA 中刷新链接表?
【问题讨论】:
【参考方案1】:.RefreshLink
方法会做你想做的事吗?
这里有一个例子:https://msdn.microsoft.com/en-us/library/office/ff198349.aspx
另一种解决方案是重新连接到调用此函数的远程数据库。
Function ConnectODBC(ByVal strDsn As String, ByVal strDatabase As String, ByVal strUserName As String, ByVal strPassword As String)
Dim qdf As DAO.QueryDef
Dim rst As DAO.Recordset
Dim strConnection As String
strConnection = "ODBC;DSN=" & strDsn & ";" & _
"DATABASE=" & strDatabase & ";" & _
"UID=" & strUserName & ";" & _
"PWD=" & strPassword
Set qdf = CurrentDb.CreateQueryDef("")
With qdf
.Connect = strConnection
.SQL = "SELECT 1;"
End With
Set rst = qdf.OpenRecordset(dbOpenSnapshot, dbSQLPassThrough)
ConnectODBC = True
Set rst = Nothing
Set qdf = Nothing
End Function
【讨论】:
我试过了,但我收到错误“ODBC 调用失败”。 已经有答案了:***.com/a/15665509/4510359。看起来像这样:Dim db as Database Set db = Currentdb() db.TablesDefs(1).RefreshLink
是你输入的吗?
我做了:CurrentDb().TableDefs(1).RefreshLink,我收到错误“运行时错误 '3146' ODBC -- 调用失败。”
我用我在一个应用程序上使用的另一种解决方案编辑了我的答案。
从头开始,谢谢您的帮助。我试试看。以上是关于如果 Access 与 MySQL 数据库服务器断开连接,如何刷新链接表?的主要内容,如果未能解决你的问题,请参考以下文章