1

在 vb6 中,包含以下值的表单,这里是示例值的屏幕截图链接!

我正在使用 Ms 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

我只想像上面一样保存该表中的值!

4

2 回答 2

1

该代码将新行添加到rs2记录集的末尾。然后它调用.MoveNext,它将记录集定位在.EOF。所以Loop条件是 then True,这意味着它不会循环。

看来您还有另一个记录集,rs. 也许那是您应该循环而不是rs2.

于 2013-01-15T10:53:46.167 回答
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!"

感谢上帝 !

于 2013-01-17T00:05:12.763 回答