hat leider nicht geholfen.
der zugriff auf die SQL datenbank sieht so aus.
Diese codezeilen stehen in einem extra modul und werden aus der frmMain aufgerufen
Public Function OpenDB() As Boolean
' verbinden der datenbank mit der anwendung
On Error GoTo err_opendb
' Benutzerdaten
sUserName = "test"
sPassword = "test"
' Datenbank-Name
sDBName = "test_db"
sCon = "Provider=MSDASQL;Driver={MySQL ODBC 3.51 Driver};" & "Server=" & _
sServer & ";Database=" & sDBName
Exit Function
' Errorlog erstellen
err_opendb:
Call MdlErrorlog.errorlog(Err.Number, Err.Description, "opendb")
Err.Clear dann habe ich noch 2 weitere funktionen im gleichen modul zum öffnen und schließen der verbindung.
einmal zum öffnen der verbindung
Public Sub g_ConOpen()
' öffnet die datenbankverbindung wenn diese geschlossen ist
On Error GoTo err_datenbank
Set con = New ADODB.Connection
Set rs = New ADODB.Recordset
If con.State = 0 Then
con.Open sCon, sUserName, sPassword
con.CursorLocation = adUseClient
rs.CursorLocation = adUseClient
End If
Exit Sub
err_datenbank:
Call MdlErrorlog.errorlog(Err.Number, Err.Description, "DBoeffnen")
Err.Clear
End Sub und einmal um die verbindung wieder zu schließen
Public Sub g_ConClose()
' schließt die datenbankverbindung wenn diese geöffnet ist
On Error GoTo err_datenbank
If con.State = 1 Then
con.Close
End If
Set con = Nothing
Set rs = Nothing
Exit Sub
err_datenbank:
Call MdlErrorlog.errorlog(Err.Number, Err.Description, "DBschliessen")
Err.Clear
End Sub der aufruf der function openDB aus der frmMain sieht entsprechend so aus.
' auslesen der system.ini zur ermittlung der DB server adr
Open App.Path & "\setup.ini" For Input As #1
Line Input #1, sServer
Close #1
' öffnen der Datenbank
Call MdlDatenbank.OpenDB das füllen des datengrid steht im form load der frmUser.
hier der ganze code.
Private Sub Form_Load()
Dim string1, string2, string3, string4 As String
Dim int1, int2 As Integer
Call g_ConOpen
If con.State = 1 Then
rs.Open "SELECT * FROM User", con, adOpenStatic, adLockReadOnly
Do Until rs.EOF
Set Me.dbgrdMA.DataSource = rs
Me.dbgrdMA.Refresh ' hat leider nicht geholfen
string1 = rs("Benutzername")
string2 = rs("Benutzerkennwort")
string3 = rs("MaName")
string4 = rs("MaVorname")
int1 = rs("PK_UserID")
int2 = rs("administrator")
Me.dbgrdMA.Columns(0).Width = 1000
Me.dbgrdMA.Columns(1).Width = 1400
Me.dbgrdMA.Columns(2).Width = 1000
Me.dbgrdMA.Columns(3).Width = 1400
Me.dbgrdMA.Columns(4).Width = 1400
Me.dbgrdMA.Columns(5).Width = 1000
rs.MoveNext
Loop
rs.Close
End If
Call g_ConClose
End Sub |