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条件は thenTrueであり、ループしないことを意味します。

別のレコードセット があるようです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 に答える