当我关闭表单时,当前记录将覆盖表中的第一条记录。如果我在关闭表单之前包含“Me.Undo”,则表单上的数据会更改,但不会在基础表中更改。我怎么能阻止这两件事发生?
Private Sub Form_Load()
Dim strSelect As String
strSelect = "SELECT * FROM tblData ORDER BY tblData.txtName;"
Set dbs = CurrentDb()
Set rst = dbs.OpenRecordset(strSelect, dbOpenDynaset)
rst.MoveFirst
Me.txtName = rst!txtName
Private Sub btnClose_Click()
'Me.Undo
MsgBox " "
DoCmd.Close acForm, "frmdata", acSaveNo
我想形成只关闭而不显示另一条记录而不覆盖表中的另一条记录。
您的Form很可能将其DataSource属性设置为'tblData'。因此,在Form加载后,将触发Form_Load()事件,并修改在Form的DataSource属性中设置的表的第一个Record。
这是修改表单数据的行:Me.txtName = rst!txtName