Vb6 在我重新启动应用程序之前,不会显示新的数据库记录

Vb6 在我重新启动应用程序之前,不会显示新的数据库记录,vb6,ado,recordset,Vb6,Ado,Recordset,当我转到下一个表单时,我遇到了一个问题,我刚才添加的记录没有显示出来。例如,我键入“123456”,然后转到下一个表单,它将只显示上一条记录,而不是“123456”。 它只会在我停止程序然后再次运行它时显示,并且“123456”将显示在第二个表单的文本框中 表格1代码: Private Sub Command1_Click() Form2.Hide Form1.Show Adodc1.Recordset.Update End Sub Private Sub Form_L

当我转到下一个表单时,我遇到了一个问题,我刚才添加的记录没有显示出来。例如,我键入“123456”,然后转到下一个表单,它将只显示上一条记录,而不是“123456”。 它只会在我停止程序然后再次运行它时显示,并且“123456”将显示在第二个表单的文本框中

表格1代码:

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

Private Sub Form_Load()
    Adodc1.Recordset.AddNew
End Sub
表格2代码:

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

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

有人知道为什么在我重新启动之前它不会显示吗?

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

在数据环境中使用ADO数据控件应该可以避免使用单独的数据库连接。我想这才是你头疼的真正原因

如果您正在使用VBA,则所有下注都将关闭,但是您不应该将问题标记为VB6ADODC的一些注意事项:

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

严肃地说,问题很少同时出现在VBA和VB6上。嘘。