Hier ein Beispiel:
Private Sub Btn_OK_click()
'Funktion zum öffnen der Datenbank
OpenAccessDatabase Datenbankpfad & "\" & Datenbankfile
'Funktion zum Öffnen des Recordset
OpenAccessRecordset "Select * from Tbl_ZeitenEingabetabelle WHERE fld_SB = '" & strCurrentUser & "' order by fld_uhrzeit desc"
'Funktion zum befüllen des Flexgrids
Grid_Fill MSFlexGrid1
End Sub
Hier die einzelnen Funktionen:
Public Function OpenAccessDatabase(strDatabase As String)
On Error GoTo weiter
With CnA
If CnA.State = adStateOpen Then
.Close
End If
If Not CnA.State = adStateOpen Then
.CursorLocation = adUseClient
.Mode = adModeShareDenyNone
' für Access 97: 3.51 für 2000: 4.0
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = "Data Source= " & strDatabase
'.ConnectionString = "Data Source=" & App.Path & "\" & strDatabase
'Debug.Print .ConnectionString
.Open
End If
End With
Exit Function
weiter:
'frm_Connect_to_Database.Show
End Function
_____________________________________________________________
Public Function OpenAccessRecordset(ByVal SQLString As String)
With RSA
'Recordset bei Wiederholung schliessen
If .State = adStateOpen Then
'Recordset abhängen
.Close
End If
.CursorType = adOpenKeyset
.LockType = adLockOptimistic
.Open SQLString, CnA
If .RecordCount = 0 Then
Screen.MousePointer = vbDefault
Exit Function
End If
.MoveFirst
End With
End Function
________________________________________________________________
Public Function Grid_Fill(ByVal Flexgridname As Object)
Dim y, strWert, x, i
Set RsA = Nothing
Set CnA = Nothing
'Pfad und file zum Öffnen der Datenbank
OpenAccessDatabaseServer DatenbankpfadServer & "\" & DatenbankfileServer
If CnA.State = adStateOpen Then
'--determin the amount of cols and rows
Flexgridname.Cols = RSA.Fields.Count
Flexgridname.Rows = RSA.RecordCount + 1
'--Filling the headlines
For y = 0 To RSA.Fields.Count - 1
Flexgridname.TextMatrix(0, y) = RSA.Fields

Next y
'--Filling the ValueRows
If NoRecordsEingabe = False Then
For x = 1 To RSA.RecordCount
For y = 0 To RSA.Fields.Count - 1
strWert = RSA.Fields

.Value
If IsNull(strWert) Then
strWert = ""
End If
Flexgridname.TextMatrix(x, y) = strWert
Next y
RSA.MoveNext
Next x
End If
End If
Im Declarationbereich darf halt folgendes nicht fehlen:
Public CnA As New ADODB.Connection
Public RSA As New ADODB.Recordset
Den Verweis "Microsoft ActiveX Data Objects 2.X" musst Du auch setzen.
[Projekt]-[Verweise]
Servus aus Salzburg