如何阻止记录在关闭时被覆盖

时间:2019-03-25 18:58:37

标签: access-vba ms-access-2013 recordset

当我关闭表单时,当前记录将覆盖表中的第一条记录。如果在关闭表单之前添加“ 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

我想关闭表格而不显示其他记录,也不覆盖表中的其他记录。

1 个答案:

答案 0 :(得分:0)

您的窗体很有可能将其DataSource属性设置为'tblData'。 因此,在加载Form后,将触发Form_Load()事件,然后修改在Form的DataSource属性中设置的表的第一个Record。

这是修改表单数据的行:Me.txtName = rst!txtName

相关问题