Vb6 Record Updation Error

2019-08-02 22:42发布

问题:

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 !