programing

ODBC를 통해 MariaDB에서 액세스할 때 VBA(자동 재링크 테이블)

bestprogram 2023. 8. 15. 11:18

ODBC를 통해 MariaDB에서 액세스할 때 VBA(자동 재링크 테이블)

VBA의 테이블을 마리아DB SQL에서 ODBC를 통해 액세스로 다시 연결해야 합니다.아래 코드를 찾았는데 작동하지 않습니다.실행하면 아무 일도 일어나지 않습니다.

SQL에서 액세스에 표시되지 않는 일부 열을 추가할 때 다시 연결해야 합니다.수동 Table 재링크를 수행하면 나타납니다.

이 코드는 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함수 편집 재링크는 정상적으로 작동하지만 일부 테이블은 "읽기 전용"이 되므로 레코드를 추가하거나 편집할 수 없습니다.이러한 테이블과 링크 매뉴얼을 삭제한 후에는 정상적으로 작동합니다.아이디어 있어요?

아마도 당신의 연결 문자열이 다르고 필터는 그것을 Maria DB로 인식하지 못할 것입니다.또는 변경을 시도할 수 있습니다.

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

로.

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

또한 VBA의 like는 sql의 **like*와 다릅니다.

언급URL : https://stackoverflow.com/questions/55351783/auto-re-link-tables-vba-in-acces-from-mariadb-via-odbc