Vb6记录更新错误

时间:2013-01-15 10:06:39

标签: mysql ms-access datagrid vb6

在vb6中,表单包含以下值和 here is the screenshot link for the sample values !

我使用的是Access 2007,它包含一个名为“studentexamdetail”的表包含

    heading(Admno,Semester,Subjectcode,Regular_Arrear,Fee) 

我的疑问是当我点击上面表格中的“保存”按钮(见截图),然后录取号码,学期,所有主题代码,regular_arrear(我们可以手动编写)和费用应该保存在“studentexamdetail”表中但是它只在我使用这种方法时存储第一个值!

    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

我应该对存储所有值而不是第一个值进行哪些更改? 我需要的是,我在下面显示:

    Admno Semester Subjectcode Regular_Arrear Fee
    1471     V       RMSC1        Regular     440
    1471     V       RMSC3        Regular     440
    1471     V       RMSC2        Regular     320

我想保存该表中的值,如上所述!

2 个答案:

答案 0 :(得分:1)

代码在rs2记录集的末尾添加了一个新行。然后它调用.MoveNext,将记录集置于.EOF。因此Loop条件为True,这意味着它不会循环。

您似乎还有另一个记录集rs。也许这是你应该循环而不是rs2

答案 1 :(得分:1)

我已经通过将“rs2.movenext”替换为“rs.movenext”解决了这个问题,你可以在上面的评论中看到rs记录集值,我只是放了另一段代码“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!"

感谢上帝!

相关问题