虽然我发现了一些与我的问题相近的谷歌搜索结果,但似乎没有人能够帮助他们。
我有一个更复杂的形式,我已经简化,试图缩小问题范围。
我有一个表单'编辑清单',允许编辑表'资产'。
在表格中,编辑库存是一个子表单,显示资产表和几个不同的字段。
子窗体上显示的内容基于组合框“cboRoomSelect”中选择的内容。 cboRoomSelect使用其RoomID查找“资产”表中的记录
所有这一切都运行正常,但是在关闭表单时,第一条记录(由于某种原因,“资产表”中的AssetID 5),'RoomID'将更改为cboRoomSelect框中最后选择的RoomID。
我对如何解决这个问题一无所知。它仅发生在第一条记录中,并且仅在关闭记录时发生。
结果,记录五不断弹出不属于它的房间。
在此之前我遇到了创建重复记录的问题,但我通过禁用要输入的新记录解决了这个问题。
我没有在此表单上使用任何代码,如有必要,我可以附加我的数据库。
https://drive.google.com/file/d/0BxQbzHNvYazQY3NXWDRZV1lwTjA/view?usp=sharing 链接到文档,查看“编辑表单测试”
这是一个MS Access文档,表单没有附加代码。
答案 0 :(得分:0)
我终于解决了这个问题。 最大的问题是确保在属性中: 形式>允许添加=否
我使用了代码:
Private Sub Form_BeforeUpdated(Cancel as Integer)
If Not (Me.NewRecord) Then
'If not a new record, Undo saving on form
Me.Undo
End If
End Sub
这是因为Access会在没有提示的情况下自动保存所有更改。 上述代码在Access决定保存之前激活,然后告诉它不要。
基本上代码读作为 在表单关闭时,在更新链接表之前, 如果没有新记录,或者何时表示关闭/中断自动保存功能。 撤消任何更改/不保存表单更改 结束论点。
答案 1 :(得分:0)
对于级联查找表单存在相同的问题。我终于给了表一个虚拟的第一条记录来覆盖。