MS ACCESS - 结账表格编辑第一个条目

时间:2014-03-04 16:32:19

标签: sql database vba ms-access

我有3列的表格。它具有自动编号主ID(cboID),文本列(txtLocation)和数字列(txtCount)。

从这张表中,我制作了一个具有组合框和两个文本字段的表单。单击组合框时,它会显示所有cboID的列表。选择其中一个选项后,它会自动填充另外两个文本字段及其相应的位置和计数信息。我还有一个更新声明/保存按钮,允许用户编辑其中一个条目,按保存,并更新一个或两个字段。

这是我的陈述。

Private Sub cmdUpdate_Click()

Dim strSQL As String


strSQL = "UPDATE aDuh SET Location = '" & Me.txtLocation & "', Count = '" & Me.txtCount & "' WHERE ID = '" & Me.cboID & "'"


DoCmd.RunSQL (strSQL)

End Sub

更新没有问题,但是当我关闭它时,表单会更新第一个条目。让我说我刚刚完成了第三个条目的编辑,我已经完成了编辑。我想关闭表单并做一些其他事情。但是,我关闭了表单(我尝试了一个按钮,只是关闭了选项卡),表格中的第一个条目用第三个条目更新。基本上,我上次编辑的条目编辑正确,但是当表单关闭时,它也会更新第一条记录。知道怎么解决这个问题吗? (如果不清楚请告诉我,我会尽力澄清)

我正在考虑为On Close事件写一个声明,但我不知道该放什么。

编辑:额外信息

现在,这个表只有三个记录。在表单中,当我单击组合框时,它具有三个记录的下拉列表。让我们说我点击了第二个。单击它后,“位置”字段将填充相关信息,并与计数字段相同。现在让我们说计数字段中的当前值是“9”,我想将其更改为4.我输入4,按更新,我提示一个框,说“你确定要更新1行” 。我按是,然后更新。更新工作正常,它就在我关闭时。我将举两个例子

1)我刚刚编辑了第二条记录,当我关闭时,它没有提示任何东西,它只是顺利关闭,但是当我检查信息时,第一条和第二条记录现在完全相同。

2)让我说我刚编辑了第一张唱片。当我关闭它时,会弹出一个窗口,上面写着“写入冲突,自开始编辑以来,该记录已被其他用户更改。如果保存记录,则会覆盖更改”。然后它有三个选项,保存记录,复制到剪贴板和删除更改。

哦,我是如何让它自动填充的,我有代码:

Private Sub cboID_Change()
Me.txtLocation = Me.cboID.Column(1)
Me.txtCount = Me.cboID.Column(2)

End Sub

希望这可以澄清一点。 :(

0 个答案:

没有答案