andyah

Access 2010 VBA - misslungene ODBC-Connection abfangen

Hi NG,

wie kann ich unter Access 2010 per VBA eine fehlerhafte MySQL ODBC Verbindung abfangen? Es soll, wenn sich ein User anmeldet, der kein MySQL User ist, eine Fehlermeldung ausgegeben werden.

Gruß
Andy
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 227841

Url: https://administrator.de/forum/access-2010-vba-misslungene-odbc-connection-abfangen-227841.html

Ausgedruckt am: 07.07.2025 um 09:07 Uhr

colinardo
Lösung colinardo 27.01.2014, aktualisiert am 29.01.2014 um 11:58:09 Uhr
Hallo Andy,
könntest du wie in diesem Beispiel abfangen
Sub OpenConnection()
    Set conn = CreateObject("ADODB.Connection")  
    On Error GoTo LogonError
    conn.Open "Driver={MySQL ODBC 5.1 Driver};Server=127.0.0.1;Database=DATABASENAME;Uid=USERNAME;Pwd=PASSWORD;"  
    On Error Resume Next
   ' Hier deine Arbeit mit der Datenbank  
    Exit Sub
LogonError:
    MsgBox "Fehler beim Login zur Datenbank: " & Err.Description  
End Sub
Wenn du willst kannst du auch mit der Eigenschaft Err.Number die Fehler im Errorhandler spezifischer auswerten.

Grüße Uwe
AndyAh
AndyAh 28.01.2014 um 11:30:19 Uhr
Hi Uwe,

ich hab's gerade ausprobiert. Leider musste ich feststellen, dass "LogonError" immer angesprungen wird.

Hier mal meinen Code:

Private Sub Befehl12_Click()
   Dim connstr As String
   Dim conn As New ADODB.Connection
   Dim user As String
   Dim passwort As String
   
   Text0.SetFocus
   user = Text0.Text
   Text4.SetFocus
   passwort = Text4.Text
   connstr = "DRIVER={MySQL ODBC 5.2 ANSI Driver};SERVER=localhost;DATABASE=adressen;" & "USER=" & user & ";" & "PASSWORD=" & passwort & "; OPTION=3"  
   
   conn.ConnectionString = connstr
   On Error GoTo LogonError

    
    conn.Open


    On Error Resume Next

    MsgBox "OK"  
    conn.Close

   ' Hier deine Arbeit mit der Datenbank  


LogonError:


    'bei richtigem Login ist die Description leer und wird als Fehlercode 0 angezeigt  
    MsgBox "Fehler beim Login zur Datenbank: " & Err.Description  
  
End Sub


Gruß
Andy
colinardo
Lösung colinardo 28.01.2014, aktualisiert am 29.01.2014 um 11:58:20 Uhr
Zitat von @AndyAh:

Hi Uwe,

ich hab's gerade ausprobiert. Leider musste ich feststellen, dass "LogonError" immer angesprungen wird.
ach sorry, dir fehlt noch ein Exit Sub hinter MsgBox "OK"

Private Sub Befehl12_Click()
   Dim connstr As String
   Dim conn As New ADODB.Connection
   Dim user As String
   Dim passwort As String
   
   Text0.SetFocus
   user = Text0.Text
   Text4.SetFocus
   passwort = Text4.Text
   connstr = "DRIVER={MySQL ODBC 5.2 ANSI Driver};SERVER=localhost;DATABASE=adressen;" & "USER=" & user & ";" & "PASSWORD=" & passwort & "; OPTION=3"  
   conn.ConnectionString = connstr
   On Error GoTo LogonError
    conn.Open
   On Error Resume Next

    MsgBox "OK"  
    conn.Close

    Exit Sub

LogonError:
    MsgBox "Fehler beim Login zur Datenbank: " & Err.Description  
End Sub

Grüße Uwe
AndyAh
AndyAh 29.01.2014 um 12:01:04 Uhr
Hi Uwe,

danke für den Tipp. Ich hatte es schon anders gelöst. Im LoginError habe ich einfach nach err.number <> 0 abgefragt.

Gruß
Andy