Archief - [VB.net] Gegevens ophalen en plakken met recordset

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Pitminiemen

Legacy Member
Hoi,

Bedoeling is dat ik uit een fiche een aantal gegevens opneem (kopieer) in een recordset en die recordset dan laat plakken in een nieuwe fiche.
Nu geeft hij Fout 9 aan bij

If Not (vrst.BOF And vrst.EOF) Then
vrst.MoveFirst
Do While Not vrst.EOF
WijnetenID(i) = vrst!fldetenID (HIER ALS i = 2 of meer loopt hij vast)
i = i + 1
vrst.MoveNext
Loop
End If


Iemand enige voorstellen hoe ik het beste hierbij recordsets zou kunnen toepassen of enige andere voorstellen.

Dit is de kopieer code:

Code:
sqlq = sqlq & "WHERE TBLwijndruif.fldwijnid =" & Me.fldwijnid

Set vrst = vdb.OpenRecordset(sqlq, dbOpenDynaset)
ReDim WijndruivenID(vrst.RecordCount) As Integer
ReDim WijndruivenPercentage(vrst.RecordCount) As Integer
i = 0
If Not (vrst.BOF And vrst.EOF) Then
    vrst.MoveFirst
    Do While Not vrst.EOF
        tempint = UBound(WijndruivenID)
        WijndruivenID(i) = vrst!flddruifID
        WijndruivenPercentage(i) = vrst!fldpercentage
        i = i + 1
        vrst.MoveNext
    Loop
End If
'Opslagen van het bijpassend eten
sqlq = "SELECT TBLserverenbijeten.fldteserveren_bij_etenID, TBLserverenbijeten.fldwijnID, TBLserverenbijeten.fldetenID "
sqlq = sqlq & "FROM TBLserverenbijeten "
sqlq = sqlq & "WHERE TBLserverenbijeten.fldwijnID =" & Me.fldwijnid
Set vrst = vdb.OpenRecordset(sqlq, dbOpenDynaset)
ReDim WijnetenID(vrst.RecordCount) As Integer
i = 0
If Not (vrst.BOF And vrst.EOF) Then
    vrst.MoveFirst
    Do While Not vrst.EOF
        WijnetenID(i) = vrst!fldetenID
        i = i + 1
        vrst.MoveNext
    Loop
End If
'Opslagen van wijneigenschappen
If Not IsNull(Me.fldsmaak) Then
    Wijnsmaak = Me.fldsmaak
End If
If Not IsNull(Me.flddomein) Then
    Wijndomein = Me.flddomein
End If
If Not IsNull(Me.fldjaar) Then
    Wijnjaar = Me.fldjaar
End If
If Not IsNull(Me.fldserveertemperatuur) Then
    Wijnserveertemperatuur = Me.fldserveertemperatuur
End If
If Not IsNull(Me.fldtebewarenID) Then
    Wijnbewaar = Me.fldtebewarenID
End If
If Not IsNull(Me.fldkleurID) Then
    WijnKleurID = Me.fldkleurID
End If
'If Not IsNull(Me.fldfoto) Then
    'WijnFoto = Me.fldfoto
'End If
MsgConsole "De gegevens van deze wijn zijn in het geheugen opgeslagen, u kunt ze nu plakken bij een andere wijn."
Me.PlakkenCMDIMG.Picture = GetProgDir & "\Progafbeeldingen\TekstKnopS.bmp"
End Sub

En dit is de plak code:

Code:
Private Sub PlakkenCMD_Click()
DoCmd.SetWarnings False
Dim vdb As Database
Dim vrst As Recordset
Dim sqlq As String
Dim i As Integer
Set vdb = CurrentDb
Me.fldsmaak = Wijnsmaak
Me.flddomein = Wijndomein
Me.fldjaar = Wijnjaar
Me.fldserveertemperatuur = Wijnserveertemperatuur
Me.fldtebewarenID = Wijnbewaar
Me.fldkleurID = WijnKleurID
'Me.fldfoto = WijnFoto
Set vrst = vdb.OpenRecordset("SELECT TBLwijndruif.* FROM TBLwijndruif ", dbOpenDynaset)
i = 0
If UBound(wijndruifID) > 0 Then
    Do While Not i = UBound(wijndruifID)
    vrst.MoveLast
    vrst.AddNew
    vrst!flddruifID = WijndruivenID(i)
    vrst!fldpercentage = WijndruivenPercentage(i)
    vrst!fldwijnid = Me.fldwijnid
    vrst.Update
    vrst.MoveLast
    i = i + 1
Loop
End If
vrst.Close
Me.Sub45.Requery
sqlq = "SELECT TBLserverenbijeten.fldteserveren_bij_etenID, TBLserverenbijeten.fldwijnID, TBLserverenbijeten.fldetenID FROM TBLserverenbijeten WHERE tblserverbijeten.fldwijnid =" & Me.fldwijnid
Set vrst = vdb.OpenRecordset(sqlq12, dbOpenDynaset)
i = 0
If Not (vrst.BOF And vrst.EOF) Then
    Do While Not vrst11.EOF
        vrst.MoveLast
        vrst.AddNew
        vrst!fldetenID = WijnetenID(i)
        vrst!fldwijnid = Me.fldwijnid
        vrst.Update
        vrst.MoveLast
        i = i + 1
    Loop
End If
vrst.Close
Me.Sub120.Requery
MsgBox "De gegevens uit het geheugen zijn gekopierd"
End Sub
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan