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:
En dit is de plak code:
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