Neu verlinken
Aus DBWiki
Bei einer Änderung an der MySQL Datenbank und verlinkten Tabellen werden diese erst nach dem Neueinbinden aktualisiert in Access angezeigt. Dies führt zu Problemen oder viel Handarbeit. Mit dem nachfolgenden Code können die Tabellen bei jedem Start neu eingebunden werden.
Public Property Get ThisDb(Optional forceReinitialization As Boolean) _ As DAO.Database Static db As DAO.Database If db Is Nothing Or forceReinitialization Then Set db = CurrentDb Set ThisDb = db End Property Public Function reconnectMySQL() As Boolean Dim i As Integer Dim tdf As TableDef On Error GoTo Er For i = 0 To ThisDb(True).TableDefs.Count - 1 Set tdf = ThisDb(True).TableDefs(i) If Len(tdf.Connect) > 0 Then tdf.Connect = "ODBC;DATABASE=DeineDatenbank;DSN=DeineDNS;OPTION=0;" & _ "PORT=3306;SERVER=DeinServer;PASSWORD=DeinPasswort" tdf.RefreshLink End If Next reconnectMySQL = True Ex: Exit Function Er: Resume Ex End Function
Aufruf
If Not reconnectMySQL Then Call MsgBox("Es konnte keine Verbindung zur Datenbank hergestellt werden." _ & vbCrLf & "Überprüfen Sie die Netzwerkeinstellungen und starten Sie " _ & vbCrLf & "Ihr System eventuell neu.", _ vbCritical, "Keine Verbindung möglich.") DoCmd.Quit Exit Sub End If