在重新启动应用程序之前,新数据库记录未显示

时间:2012-09-29 05:28:41

标签: vb6 ado recordset

当我转到下一个表单时遇到问题,我刚刚添加的记录没有显示。例如,我键入“123456”然后转到下一个表单,它将只显示上一个记录,而不是“123456”。 它只会在我停止程序时显示然后再次运行它,“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

有人知道为什么在我重新开始之前它没有显示出来吗?

3 个答案:

答案 0 :(得分:0)

这可能与使用惰性写入的Jet数据库引擎有关,如this StackOverflow question中所述。

答案 1 :(得分:0)

将ADO数据控件与DataEnvironment一起使用应该可以消除对数据库的单独连接的使用。我怀疑这真的是你头疼的地方。

如果您正在使用VBA,所有投注均已关闭,但您不应该标记您的问题VB6!

答案 2 :(得分:0)

ADODC的一些注意事项:

  • 对于刷新状态:Adodc1.Recordset.Requery
  • 如果将DataGrid或任何控制器用于更新记录,则必须在提交更改之前保留当前编辑的记录。 (当前编辑的行不是DataGrid中的更改)