Toon posts:

[VB] datagrid vullen met DAO recordset

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik maak normaal gebruk van adodc component in visual basic om te connecten met een access database. Als ik dan een datagrid wil vullen zeg ik:

Set DataGrid1.DataSource = Adodc1

En de gehele datagrid wordt automatisch gevuld met de tabel waaraan de adodc is gekoppeld. Nu maak ik gebruik van DAO.

Dim db As DAO.Database
Dim rs As DAO.Recordset

is er eenzelfde mogelijkheid om een datagrid automatisch te vullen met data uit de recordset als ik gebruik maak van DAO? Ik kan nergens iets vinden..

Verwijderd

al geprobeerd met Set DataGrid1.DataSource = rs

Verwijderd

Topicstarter
Ja dat heb ik als eerste geprobeerd. Werkt niet "typ mismatch"

Verwijderd

Hier een stukje code uit één van de voorbeeldprojecten uit m'n boek om een RS te openen, heb je vast wel wat aan. Ik werk nooit met DAO maar vooruit.....

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
Private Sub cmdOpenRS_Click()
    '
    Dim ws As Workspace
    Dim db As Database
    Dim rsTable As Recordset
    Dim rsDynaset As Recordset
    Dim rsSnapshot As Recordset
    Dim rsForwardOnly As Recordset
    Dim rsTemp As Recordset
    '
    Dim strDBName As String
    Dim strRSTable As String
    Dim strRSDynaset As String
    Dim strRSSnapshot As String
    Dim strRSForwardOnly As String
    Dim strMsg As String
    '
    strDBName = App.Path & "\..\..\data\books6.mdb"
    strRSTable = "Buyers"
    strRSDynaset = "Publishers"
    strRSSnapshot = "Authors"
    strRSForwardOnly = "BookSales"
    '
    Set ws = DBEngine.Workspaces(0) ' use default
    Set db = ws.OpenDatabase(strDBName)
    '
    With db
        Set rsTable = .OpenRecordset(strRSTable, dbOpenTable)
        Set rsDynaset = .OpenRecordset(strRSDynaset, dbOpenDynaset)
        Set rsSnapshot = .OpenRecordset(strRSSnapshot, dbOpenSnapshot)
        Set rsForwardOnly = .OpenRecordset(strRSForwardOnly, dbOpenForwardOnly)
    End With
    '
    For Each rsTemp In db.Recordsets
        strMsg = strMsg & GetProperties(rsTemp) & vbCrLf
    Next
    DisplayResults strMsg, "DB OpenRecordset"
    '
    For Each rsTemp In db.Recordsets
        rsTemp.Close
        Set rsTemp = Nothing
    Next
    '
    db.Close
    Set db = Nothing
    '
End Sub

Verwijderd

Topicstarter
Bedankt voor de code, maar het probleem zit hem toch ook echt in het koppelen van de recordset aan de datagrid. but thx anyway...

Verwijderd

Qube, ik las net dat je gebruik moet maken van QueryDefs voor DAO.
Heb je nooit eerder gewerkt met DAO en ben je genoodzaakt hiermee te werken? Het is, voor zover ik kan zien, echt wel ff anders dan ADO of whatelse... :?

Heb je meer code nodig, dan knip en plak ik nog wel ff ;) No point..

Verwijderd

Topicstarter
Ik ben genoodzaakt om met DAO te werken. Alles lukt nu al aardig. Ik kan de database en de tabbelen uitlezen, query's runnen etc etc. Maar ik wil een datagrid vullen met de waardes. Dat is mijn vraag ook. Kan dit automatisch zoals met het koppelen van een datasource van een datagrid aan een adodc component?

Verwijderd

sorry, verder kan ik je niet helpen.
BTW als je de records hebt, kun je die toch ook met addItem in je object proppen? (misschien te simpel gedacht hoor :? )

Gr. Richard ;)

  • robjanssen
  • Registratie: September 2001
  • Laatst online: 17-11-2025

robjanssen

Software Developer

Waarom maak je geen gebruik van het DataEnvironment

Verwijderd

Topicstarter
Ik weet inmiddels hoe het zit. De datagrid kan alleen gekoppeld worden aan een object en niet aan een DAo recordset. Maar met een flexgrid gaat het wel.
Pagina: 1