无法保存使用dao打开的表单中输入的数据。

时间:2014-02-11 09:31:47

标签: vba

首先让我说我是新手来访问vba编码,所以请耐心等待。 我使用打开到新记录的dao代码打开表单。但是,无论我尝试什么,我似乎都无法保存记录。

'opened a Form_MyForm for a new record.
dim frm as new form
set frm = new Form_MyForm 
frm.recordset.addnew
frm.visible = true

在“Form_MyForm”保存按钮上,我有以下代码

private sub save_click()
me.dirty = (me.dirty = false)
docmd.close acForm, me.name
end sub

一切似乎都运行正常(包括ID,hwnd等),除了表中没有任何内容保存。如果我使用docmd.openform打开表单,那么代码可以工作......

1 个答案:

答案 0 :(得分:0)

首先,您创建两个表单,一个是表单类型,另一个是表单类型。

无论如何,我建议使用DoCmd.Openform命令。 通常您不必保存任何数据。 (相反,如果您不想保存数据,则使用

  If Me.Dirty = True Then
    DoCmd.RunCommand acCmdUndo
    Exit Sub
  End If

如果您需要在打开后从vba访问该表单,请使用

Set frm = Application.Forms("My_Form")

如果您想以编程方式再次关闭表单,请使用DoCmd.close