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

问题描述 投票:1回答:1

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

我想形成只关闭而不显示另一条记录而不覆盖表中的另一条记录。

access-vba ms-access-2013 recordset
1个回答
0
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.