Blue Flower

Mit deser kleine Routine kann auf eine MySQL-Datenbank lesend zugegriffen werden.

 

Voraussetzung:

MySQL Server muss installiert sein. Hier auf dem lokalen Rechner (localhost). Kann aber auch jeder andere Rechner im Netzwerk sein.

MySQL-ODBC-Treiber muss installiert sein hier im BSP: Version 3.51

 

Verbindungsparameter:

ODBC-Treibername: {MySQL ODBC 3.51 Driver}
Datenbank: testdb
Server-Name: localhost (127.0.0.1)
Benutzer: root
Passwort: geheim
Verbindungsparameter: 3 (1 ->Don't optimize Column with 2->Return matching Rows)
PORT: muss nicht angegebenwweden wenn default (3306)

In das Object RS werden die Datensätze per SQL-Abfrage geladen und mit der Loop durchlaufen.

Sub Connect_to_MySQL()
  Dim DB As Object
  Dim DBEngine As Object
  Dim RS As Object
  Dim csConnect$
    
  'Welcher DAO-Treiber installiert ist kann in diesem Ornder festgestellt werden.
  'c:\Programme\Gemeinsame Dateien\Microsoft Shared\DAO\dao360.dll
  'Hier MicroSoft DAO Version 3.6 Object Library
  Set DBEngine = CreateObject("DAO.DBEngine.36")
  'Verbindung zur Datenbank öffnen
  csConnect = "ODBC;DRIVER={MySQL ODBC 3.51 Driver};DATABASE=testdb;SERVER=localhost;UID=root;PWD=geheim;PORT=;OPTION=3;"
  Set DB = DBEngine.OpenDatabase("", False, True, csConnect)
  Set RS = DB.OpenRecordSet("SELECT * FROM adressen WHERE KUNDENGRUPPE = 999")
  
  If Not (RS.BOF And RS.EOF) Then ' Recordset ist nicht leer
    RS.MoveFirst
    Do
      Debug.Print RS("MATCHCODE").Value
      RS.MoveNext
    Loop Until RS.EOF
  End If
  Debug.Print "Betroffene Datensätze : " & RS.RecordCount
  RS.Close
  Set RS = Nothing
  DB.Close
  Set DB = Nothing
  Set DBE = Nothing
End Sub