Andy Lacey
andy at minstersystems.co.uk
Fri Oct 24 06:23:20 CDT 2003
Chris
You need to use two recordsets. Each time you reopen the "input" recordset
the pointer is repositioned so MoveNext isn't going to the right record. Try
the following:
Option Compare Database
Option Explicit
Private Sub Command0_Click()
Dim db As Database
Dim recIn As Recordset
Dim RecOut as Recordset
Dim strECR As String
Set db = CurrentDb()
'-------------------------------
'Write first line to output table
'--------------------------------
Set recOut = db.OpenRecordset("tblScript")
recOut.AddNew
recOut("fldScript") = "set db pdm"
recOut.Update
'-------------------------------
'Open tblOutstandingECRs and move to first record
'-------------------------------
Set recIn = db.OpenRecordset("tblOutstandingECRs")
recIn.MoveFirst
' Do until end of file
Do Until recIn.EOF
strECR = recIn("ECR_No")
recOut.AddNew
recOut("fldScript") = "set record ecr\" & strECR & "\1 /var=%oldset1"
recOut.Update
recIn.MoveNext
Loop
'-------------------------------
'Write last line to output table
'--------------------------------
recOut.AddNew
recOut("fldScript") = "list record %oldset1 recname,reclevel recn"
recOut.Update
recIn.Close:set recIn=Nothing
recOut.Close:set recOut=Nothing
End Sub
--
Andy Lacey
http://www.minstersystems.co.uk
--------- Original Message --------
From: "Access Developers discussion and problem solving"
<accessd at databaseadvisors.com>
To: "'Access Developers discussion and problem solving'"
<accessd at databaseadvisors.com>
Subject: [AccessD] MoveNext not working
Date: 24/10/03 09:22
Good morning all!
Can anyone please see what I've doing wrong in the code below?
I have two tables, tblOutstandingECRs, and tblScript.
tblOutstandingECRs has a single text field which contains a list of document
numbers (like 401-015763 and 401-019737). I need to step through these
records, one at a time, and copy them, with changes, to tblScript. The first
record of tblScript needs to have a fixed bit of text ("set db pdm") and the
last is also fixed ("list record %oldset1 recname,reclevel recn").
If tblOutstandingECRs contained the three records:
401-015763
401-019737
401-023359
I need tblScript to have:
set db pdm
set record ecr401-0157631 /var=%oldset1
set record ecr401-0197371 /var=%oldset1
set record ecr401-0233591 /var=%oldset1
list record %oldset1 recname,reclevel recn
The problem that I'm getting is that it writes the first record ("set db
pdm"), second record ("set record ecr401-0157631 /var=%oldset1"), and
third record ("set record ecr401-0197371 /var=%oldset1") fine, then goes
into and endless loop of writing the third record again.
Any ideas please what I'm doing wrong here?
TIA!
Chris Foote
----------(Code)------------
Option Compare Database
Option Explicit
Private Sub Command0_Click()
Dim db As Database
Dim rec As Recordset
Dim strECR As String
Set db = CurrentDb()
'-------------------------------
'Write first line to output table
'--------------------------------
Set rec = db.OpenRecordset("tblScript")
rec.AddNew
rec("fldScript") = "set db pdm"
rec.Update
rec.Close
'-------------------------------
'Open tblOutstandingECRs and move to first record
'-------------------------------
Set rec = db.OpenRecordset("tblOutstandingECRs")
rec.MoveFirst
' Do until end of file
Do Until rec.EOF
strECR = rec("ECR_No")
Set rec = db.OpenRecordset("tblScript")
rec.AddNew
rec("fldScript") = "set record ecr" & strECR & "1 /var=%oldset1"
rec.Update
Set rec = db.OpenRecordset("tblOutstandingECRs")
rec.MoveNext
Loop
'-------------------------------
'Write last line to output table
'--------------------------------
Set rec = db.OpenRecordset("tblScript")
rec.AddNew
rec("fldScript") = "list record %oldset1 recname,reclevel recn"
rec.Update
rec.Close
End Sub
-------------(End Code)----------
_______________________________________________
AccessD mailing list
AccessD at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/accessd
Website: http://www.databaseadvisors.com
________________________________________________
Message sent using UebiMiau 2.7.2