Таблицы автоматической повторной ссылки (VBA) в доступе от MariaDB через ODBC - PullRequest
1 голос
/ 26 марта 2019

Мне нужно повторно связать таблицы в VBA из MariaDB SQL через ODBC для доступа. Я нашел код ниже, но он не работает. Когда я запускаю его, ничего не происходит.

Повторная ссылка необходима, когда в 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 функция редактирования ре-ссылки работает нормально, но некоторые таблицы становятся «только для чтения», то есть я не могу добавлять или редактировать какие-либо записи. После удаления этих таблиц и ссылки на руководство - работает отлично. Есть идеи?

1 Ответ

0 голосов
/ 26 марта 2019

Скорее всего, ваша строка подключения отличается, и фильтр не распознает ее как Maria DB.Кроме того, вы можете попробовать изменить

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

на

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

Также обратите внимание, что как в VBA отличается от ** как * "в sql

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...