ms-access - 将 DAO 转换为 ADO

标签 ms-access ado vba dao

我正在使用一个 Access 2003 数据库,该数据库有一个使用 DAO 代码的子例程。此代码循环遍历表定义并刷新 ODBC 连接字符串。我想将其转换为 ADO,这样我就不必引用 DAO 对象库。这是代码...

Public Sub RefreshODBCLinks(newConnectionString As String)

    Dim db As DAO.Database
    Dim tb As DAO.TableDef
    Set db = CurrentDb
    For Each tb In db.TableDefs
        If Left(tb.Connect, 4) = "ODBC" Then
            tb.Connect = newConnectionString
            tb.RefreshLink
            Debug.Print "Refreshed ODBC table " & tb.Name
        End If
    Next tb
    Set db = Nothing

    MsgBox "New connection string is " & newConnectionString, vbOKOnly, "ODBC Links refreshed"

End Sub

我不确定的部分是如何循环遍历表并获取/设置它们的连接字符串。

最佳答案

DAO 确实是最好的选择,您无法使用 ADO 刷新链接,而是需要使用 ADOX(一些相关代码 here )。

您可以通过Jet OLEDB:Link Provider String Access 连接字符串

关于ms-access - 将 DAO 转换为 ADO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3062266/

相关文章:

sql - ADO 记录集数据未显示在表单上

sql - 为什么 ADO 记录集返回的记录多于基础 Access 查询

ms-access - 在 Access 查询中的左外连接上为空记录重新调整值

python - Python中sqlite数据输入的GUI界面

ms-access - 通过 VBScript 从文本中删除尾随的不可见字符

excel - Access/Excel VBA - 跳过每个循环

sql-server - Delphi 连接到 SQL Server - 'futureproof' 替换 BDE?

vba - 将单元格值复制到不同的工作簿

excel - 查找工作表名称的一部分

vba - 应用程序.用户名 VB6 等效项