Access Datenbank in DataGrid anzeigen

neopayne

Erfahrenes Mitglied
Hi,

ich möchte eine Access Datenbank in einem DataGrid anzeigen. Vielleicht kann mir jemand den passenden Code geben oder hat ein kleines Beispielprogramm.

thx neopayne
 
Hi!

Ich weiß nicht, ob du das über DataGrid machen kannst, aber ich habe diese Lösung:

Erstelle zum Datagrid auch eine Ado DataControl-Komponente.

Dann stellst du in den Eigenschaften unter "ConnectionString" den DB-Pfad ein.


Gruß
daDom
 
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(y)
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(y).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
 
Zurück