更改后数据不保存

时间:2016-11-09 19:44:47

标签: access-vba ms-access-2010 access

我正在使用列表框在文本框和组合中显示我的数据。当我更改数据时,它不会保存在我的表中,只是无法解决原因。

我附上了数据库的简单副本,以便您了解我在做什么

https://www.dropbox.com/s/qkndka198tmqc62/Database7.accdb?dl=0

提前致谢

1 个答案:

答案 0 :(得分:1)

问题在于:

您的表单绑定到表test_table;通过单击列表框中的项目将数据显示到一组绑定字段中 - 但是您永远不会更改表的当前记录,因此您始终使用当前显示的任何值更新第一个记录。 / p>

使用表单启用的导航按钮,而不是使用列表框,然后您的示例可以正常工作。

或者如果您将ID添加到列表框的行源中,当您想要保存时,您可以执行以下操作:

DoCmd.RunSQL "UPDATE Test_Table SET [Business Area] = '" & Combo2 & "' WHERE ID = " & List8.Column(4)

更好的是,(除上述之外)解开形式&控件,并使用记录集在列表框中选择记录时显示字段的当前值。然后数据不需要在列表框的行源中,因此您将行源更改为" SELECT ID,Dates FROM Test_Table"并将columnwidths属性设置为" 0cm; 3cm"从显示中隐藏ID。然后,对List8的任何引用都是对当前记录的ID的引用,并且

List8 = 4

将List8的选定索引设置为ID = 4的行。

保存后,您可以

List8.Requery
List8 = 4
List8_Click

将重新显示数据库中的数据。

希望这有帮助