GruboPappa
Nieuwe gebruiker
- Lid geworden
- 28 nov 2006
- Berichten
- 3
Ik ben onlangs begonnen met het programmeren in Visual Basic met ADO. Ik loop tegen het volgende probleem aan.
Op een formulier staan 13 tekstvelden, 2 datacontrols (ADO) en een Datacombo box.
de datacontrols zijn datPrimaryRs en datSecondaryRs.
De tekstvelden worden gevuld uit datPrimaryRs. De datacombox geeft een lijst weer uit datSecondaryRs via de BoundColumn. Tekstveld 13 wordt gevuld met de bijbehorende waarde uit datSecondaryRs welke wordt opgezocht aan de hand van de waarde uit de datacombo box. Bij het opstarten van het formulier lukt dat met de volgende code:
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim i
Screen.MousePointer = vbDefault
On Error Resume Next
Set db = OpenDatabase(gsDatabase)
Set rs = db.OpenRecordset("Tbl_Vereniging")
rs.Index = "Nummer"
rs.Seek "=", Me.dcVereniging.Text
i = rs.Fields("Naam")
Me.txtFields(13).Text =
Als ik de events MoveFirst, MoveLast, MoveNext of MovePrevious uitvoer op datPrimaryRs dan wordt met bovengenoemde code weliswaar de waarde opgehaald uit de 2e tabel maar deze wordt onjuist op het formulier gezet in tekstveld 13.
Dus als ik in het formulier de gegevens uit record 3 heb staan dan wordt in tekstveld 13 de waarde weergegeven (uit datSecondaryRs) die behoort bij de gegevens van record 2. Er wordt dus steeds de bijbehorende waarde opgezocht van het vorige record.
Ik denk dat ik iets vergeet maar na 5 dagen zoeken ben ik er nog niet uit.
Moet ik in het volgende Sub nog iets doen ????
Private Sub datPrimaryRS_MoveComplete(ByVal adReason As
ADODB.EventReasonEnum, ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset)
datPrimaryRS.Caption = "Record: " & CStr(datPrimaryRS.Recordset.AbsolutePosition)
End Sub
Wie kan mij helpen ?????????
PS: Ik zal in de komende weken eens rondneuzen om te zien of ik ook mijn steentje kan bijdragen. Programmeer in Visual Basic 6 en heb enige ervaring. Ben wel hobbyprogrammeur.
Alvast bedankt voor de reacties.
Op een formulier staan 13 tekstvelden, 2 datacontrols (ADO) en een Datacombo box.
de datacontrols zijn datPrimaryRs en datSecondaryRs.
De tekstvelden worden gevuld uit datPrimaryRs. De datacombox geeft een lijst weer uit datSecondaryRs via de BoundColumn. Tekstveld 13 wordt gevuld met de bijbehorende waarde uit datSecondaryRs welke wordt opgezocht aan de hand van de waarde uit de datacombo box. Bij het opstarten van het formulier lukt dat met de volgende code:
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim i
Screen.MousePointer = vbDefault
On Error Resume Next
Set db = OpenDatabase(gsDatabase)
Set rs = db.OpenRecordset("Tbl_Vereniging")
rs.Index = "Nummer"
rs.Seek "=", Me.dcVereniging.Text
i = rs.Fields("Naam")
Me.txtFields(13).Text =
Als ik de events MoveFirst, MoveLast, MoveNext of MovePrevious uitvoer op datPrimaryRs dan wordt met bovengenoemde code weliswaar de waarde opgehaald uit de 2e tabel maar deze wordt onjuist op het formulier gezet in tekstveld 13.
Dus als ik in het formulier de gegevens uit record 3 heb staan dan wordt in tekstveld 13 de waarde weergegeven (uit datSecondaryRs) die behoort bij de gegevens van record 2. Er wordt dus steeds de bijbehorende waarde opgezocht van het vorige record.
Ik denk dat ik iets vergeet maar na 5 dagen zoeken ben ik er nog niet uit.
Moet ik in het volgende Sub nog iets doen ????
Private Sub datPrimaryRS_MoveComplete(ByVal adReason As
ADODB.EventReasonEnum, ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset)
datPrimaryRS.Caption = "Record: " & CStr(datPrimaryRS.Recordset.AbsolutePosition)
End Sub
Wie kan mij helpen ?????????
PS: Ik zal in de komende weken eens rondneuzen om te zien of ik ook mijn steentje kan bijdragen. Programmeer in Visual Basic 6 en heb enige ervaring. Ben wel hobbyprogrammeur.
Alvast bedankt voor de reacties.