Toon posts:

[access] for.. next

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo,

Ik zit met een probleem in access VB code. Ik heb een formulier met een bepaalde recordset en ik wil in een andere tabel een record toevoegen voor elk record in het formulier. In het formulier staat een veld klantId en die moet zeg maar gekopieerd worden naar de andere tabel. Ik ben tot de volgende code gekomen maar het werkt niet en ik kom er niet uit hoe ik het werkend kan krijgen.

Dim rst As Object
Dim rs As Object
Dim i As Integer

Set rst = Me.Recordset
Set rs = CurrentDb.OpenRecordset("mailing")

For i = rst.findfirst To rst.findlast

rs.AddNew
rs.KlantId = rst.KlantId
rs.Update

Next i

rs.Close

Hoe kan ik dit werkend krijgen? Alvast bedankt!

-Jelmer-

Verwijderd

Dit kan niet: For i = rst.findfirst To rst.findlast

Moet zoiets zijn als dit:

rst.findfirst

while not rst.EOF
' do your stuff

rst.findnext
wend

Verwijderd

persoonlijk zou ik dit gebruiken

do until rst.eof
' code van jezelf
rst.movenext
loop
rst.close
set rst = nothing

dan loopt ie door al je records vanaf het begin tot het einde heen

Verwijderd

Topicstarter
Ok thanks..het werkt al bijna.. Nou loop ik alleen nog ergens anders tegenaan. ik heb nu de volgende code:

Dim rst As Object
Dim rs As Object
Dim i As Integer

Set rst = Me.Recordset

Set rs = CurrentDb.OpenRecordset("mailing")

Do Until rst.EOF

rs.AddNew
rs.KlantId = rst.KlantId
rs.Update

rst.MoveNext
Loop
rst.Close

Het probleem nu is dat hij me.recordset niet accepteerd omdat de recordset in een subformulier staat. Hoe krijg is nu de juiste recordset gedeclareerd als rst??

-Jelmer-

Verwijderd

gebruik eens me.recordsetclone
dat wil ook wel eens helpen

Verwijderd

Misschien is het handig om early binding te gebruiken in plaats van Late. Kan in de performance schelen. Dus Dim rst as DAO.Recordset

Verwijderd

Topicstarter
me.recordsetclone helpt ook niet. Het probleem is dat ik de recordset uit het subformulier moet hebben en Me! gaat dus niet werken.
Ik dacht dat MailingselectSub.recordset zou moeten werken maar dat accepteerd hij ook niet. Anyone??

Verwijderd

probeer dan me![naam subformulier].form.recordsetclone

Verwijderd

Topicstarter
Thanks!! het werkt! :*)
Pagina: 1