通过ODBC从MariaDB自动重新链接表(VBA)

问题描述 投票:1回答:1

我需要将VBA中的表从MariaDB SQL通过ODBC重新链接到Access。我在下面找到了一些代码,但它不起作用。当我运行它没有任何反应。

在SQL中我需要重新链接我添加一些它不会出现在Access中的列。当我做手动表重新链接时,它出现。

此代码适用于Postgresql,而不适用于MariaDB。也许需要一些改正......

Sub refreshLinked_MariaDB()
    Dim cdb As DAO.Database, tbd As DAO.TableDef
    Set cdb = CurrentDb
    For Each tbd In cdb.TableDefs
        If tbd.Connect Like "ODBC;Driver={MariaDB ODBC 3.1 Driver*" Then
            Debug.Print "Refreshing [" & tbd.Name & "] ..."
            tbd.RefreshLink
        End If
    Next
    Debug.Print "Done."
    Set tbd = Nothing
    Set cdb = Nothing
End Sub

更新:在if函数编辑重新链接工作正常后,但有些表变为“只读”,这意味着我无法添加或编辑任何记录。删除这些表和链接手册后 - 工作正常。有任何想法吗?

access-vba mariadb
1个回答
0
投票

很可能你的连接字符串是不同的,过滤器不会将它识别为Maria DB。或者,您可以尝试更改

If tbd.Connect Like "ODBC;Driver={MariaDB ODBC 3.1 Driver*" Then

If left(tbd.Connect,5) = "ODBC;" then

还要注意,就像在VBA中不同于在sql中的** like *“

© www.soinside.com 2019 - 2024. All rights reserved.