Springen naar inhoud


ADO database probleempje


  • Log in a.u.b. om te beantwoorden
Er zijn 4 reacties in dit onderwerp

#1 VB6Dummy

VB6Dummy

    VBIB Godfather

  • Leden
  • PipPipPipPipPipPipPipPip
  • 5388 berichten
    Laatst bezocht 26 dec 2014 17:43

Geplaatst op 04 mei 2011 - 08:15

Ok nu werkt het,bedankt...................

#2 VB6Dummy

VB6Dummy

    VBIB Godfather

  • Leden
  • PipPipPipPipPipPipPipPip
  • 5388 berichten
    Laatst bezocht 26 dec 2014 17:43

Geplaatst op 04 mei 2011 - 08:15

Als ik het goed begrijp is, "DAT",  de tabel die je wilt openen met het veld jaar als veld waarvan je de gegevens in je listbox wilt laden. Het openen van de recordset is volgens mij het probleem. Je laadt alle velden in je recordset die in je database aanwezeig zijn. Volgens mij zou het beter zijn om hier een filter op te plaatsen.
Probeer eens om, ipv enkel de tabel op te geven wanneer je de recordset opent, een sql statement.

With RS
     .ActiveConnection = DB
     .CursorLocation = adUseClient
     .CursorType = adOpenDynamic
     .LockType = adLockOptimistic
     .Open "select jaar from dat group by jaar"
End With

Dit zou enkel 1 maal de gegevens mogen in je recordset laden

#3 VB6Dummy

VB6Dummy

    VBIB Godfather

  • Leden
  • PipPipPipPipPipPipPipPip
  • 5388 berichten
    Laatst bezocht 26 dec 2014 17:43

Geplaatst op 04 mei 2011 - 08:15

eerst maak ik 2 functies om connectie en recordset in te stellen :

(aan dat zal het wel nie liggen.....)

Public Sub Data_Connect()
'create new connection
Set DB = New ADODB.Connection

DB.CursorLocation = adUseClient


Activate = "Driver=Microsoft Access Driver (*.mdb);" & _
                        "Dbq=" & App.Path & "Preken.mdb"

'errtapping
On Error GoTo err_handling
'make connection
DB.ConnectionString = Activate
'open connection
DB.Open

'Error handling
err_handling:
    If (Err.Description <> vbNullString) Then
        MsgBox Err.Description, vbCritical, "Error"
    End If
End Sub

Public Sub Set_RS()

Set RS = New ADODB.Recordset



With RS
     .ActiveConnection = DB
     .CursorLocation = adUseClient
     .CursorType = adOpenDynamic
     .LockType = adLockOptimistic
     .Open "dat"
End With

End Sub

dan maak ik een functie om de listbox te vullen : (daar zit het probleem !!!)

Private Sub Fill_Listbox()
Dim t As Integer

lstpreken.Clear

Call Set_RS

RS.MoveFirst
    'read file
    Do While Not RS.EOF
        'add data to listbox
            
               'HIER MAG DUS NIET 2X DEZELFDE DATA IN STAAN......
                cbojaar.AddItem RS.Fields("jaar")
                      

        RS.MoveNext
    Loop
        Set RS = Nothing
        
End Sub

#4 VB6Dummy

VB6Dummy

    VBIB Godfather

  • Leden
  • PipPipPipPipPipPipPipPip
  • 5388 berichten
    Laatst bezocht 26 dec 2014 17:43

Geplaatst op 04 mei 2011 - 08:14

Post eens een beetje code hoe je de data uit de database ophaalt. Daaraan kunnen we al zien of je de gegevens op een juiste manier ophaalt.

#5 VB6Dummy

VB6Dummy

    VBIB Godfather

  • Leden
  • PipPipPipPipPipPipPipPip
  • 5388 berichten
    Laatst bezocht 26 dec 2014 17:43

Geplaatst op 04 mei 2011 - 08:14

Hallo,

Hoe kan je ervoor zorgen dat data die 2x voorkomt in een veld maar 1 keer geladen word in een listbox ??

Greetz.....

:)




0 gebruiker(s) lezen dit onderwerp

0 lid(leden), 0 bezoeker(s), 0 anonieme gebruikers

Inloggen


Untitled 1

Met dank aan J├╝rgen voor de jarenlange inzet van visualbasic.be (anno dec 2000)
Met dank aan Mike en Ronneke voor de jarenlange inzet van vbib.be (anno dec 2010)
Met dank aan PascalBianca voor de jarenlange inzet van vbib.be (anno dec 2016)