问题
In vb6, a form containing following values and here is the screenshot link for the sample values !
And I am using Ms Access 2007 and it contains a table named "studentexamdetail" contains
heading(Admno,Semester,Subjectcode,Regular_Arrear,Fee)
And my doubt is when i click "Save" button in above form(see screenshot), then admission number,semester,all the subjectcode, regular_arrear(we can write manually) and Fee should saved in the "studentexamdetail" table but it stores 1st value only when i use this method !
rs2.Open "select * from studentexamdetail", con, 1, 3
Do Until rs2.EOF
rs2.AddNew
rs2!AdmnNo = admno.Caption
rs2!semester = semester.Caption
rs2!Subjectcode = rs.Fields("Subjectcode")
rs2!Regular_Arrear = "Regular"
rs2!Fee = rs.Fields("Fee")
rs2.Update
rs2.MoveNext
MsgBox "Record Saved!"
Loop
What changes should i made to store all the values and not 1st value only? What i need is, I shown below :
Admno Semester Subjectcode Regular_Arrear Fee
1471 V RMSC1 Regular 440
1471 V RMSC3 Regular 440
1471 V RMSC2 Regular 320
I want to save values in that table as like above only !
回答1:
The code adds a new row to the end of the rs2 recordset. Then it calls .MoveNext, which positions the recordset at .EOF. So the Loop condition is then True, which means it doesn't loop.
It seems you have another recordset, rs. Perhaps that is the one you should loop through instead of rs2.
回答2:
I have solved the problem by replacing the "rs2.movenext" to "rs.movenext" and you can see the rs recordset value in the comment above and i just placed another piece of code "rs2.close"
Do Until rs.EOF
rs3.Open "select * from studentexamdetail", con, 1, 3
rs3.AddNew
rs3!AdmnNo = admno.Caption
rs3!semester = semester.Caption
rs3!Subjectcode = rs.Fields("Subjectcode")
rs3!Regular_Arrear = "Regular"
rs3!Fee = rs.Fields("Fee")
rs3.Update
rs3.Close
rs.MoveNext
Loop
MsgBox "Record Saved!"
Thanks God !
来源:https://stackoverflow.com/questions/14335287/vb6-record-updation-error