当我关闭表单时,当前记录将覆盖表中的第一条记录。如果在关闭表单之前添加“ 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
我想关闭表格而不显示其他记录,也不覆盖表中的其他记录。
答案 0 :(得分:0)
您的窗体很有可能将其DataSource属性设置为'tblData'。 因此,在加载Form后,将触发Form_Load()事件,然后修改在Form的DataSource属性中设置的表的第一个Record。
这是修改表单数据的行:Me.txtName = rst!txtName