0

次のフォームに移動するときに問題が発生しました。追加したばかりのレコードが表示されません。たとえば、「123456」と入力して次のフォームに移動すると、「123456」ではなく、前のレコードが表示されます。プログラムを停止してから再度実行したときにのみ表示され、2番目のフォームのテキストボックスに「123456」が表示されます。

Form1 コード:

Private Sub Command1_Click()
    Form2.Hide
    Form1.Show
    Adodc1.Recordset.Update
End Sub

Private Sub Form_Load()
    Adodc1.Recordset.AddNew
End Sub

Form2 コード:

Private Sub Command1_Click()
    Adodc1.Recordset.Update
End Sub

Private Sub Form_Load()
    Adodc1.Refresh
    Adodc1.Recordset.MoveLast
End Sub

再起動するまで表示されない理由を誰か知っていますか?

4

3 に答える 3

0

ADODCに関する注意事項:

  • 更新状態の場合:Adodc1.Recordset.Requery
  • 更新レコードにDataGridまたは任意のコントローラーを使用する場合は、変更をコミットする前に、現在編集されているレコードを残す必要があります。(現在編集されている行はDataGridの変更ではありません)
于 2012-10-02T12:46:56.940 に答える
0

この StackOverflow questionで回答されているように、遅延書き込みを使用する Jet データベース エンジンに関係している可能性があります。

于 2012-09-29T08:16:26.940 に答える
0

DataEnvironment で ADO データ コントロールを使用すると、データベースへの個別の接続を使用する必要がなくなります。あなたの頭痛の本当の原因はそこにあると思います。

VBA を使用している場合、すべての賭けは無効になりますが、質問に VB6 のタグを付けるべきではありません。

于 2012-09-30T05:39:04.047 に答える