2012-06-25 95 views
0

我有一个带有两个组合框和几个按钮的窗体。其中一个按钮(称为“翻转”)用于滚动上一年的数据。点击后,它应该能够获取前一年的数据并插入到下一年的表格中。MS Access窗体加载

我已经编写了代码,但它没有在按钮上单击插入数据,而是在窗体打开一次后插入数据。

例如: 我点击“翻转”,然后点击表格,表格打开但没有数据。我关闭表格。再次点击“翻转”。我再次打开表单并插入数据。

我不知道为什么它不让我插入数据,而不是至少打开一次表单。

这里是我的代码如下所示:

Form_1_Test.Text10 = DLookup("Legal_Name", "1_Test", "[Program_Name] = '" & Replace([Combo2], "'", "''") & "' And [BudgetYear] = " & ([Combo0] - 1)) 

回答

1

你可能需要在插入数据后重新查询形式。添加下面一行在你的MyButton_Click()代码结束(即,插入新记录的代码后):

Me.Requery 

它可以帮助记住,你是不是插入记录“到形成”。而是将记录插入到表单所基于的基础表中。

尽管Access表单将自动刷新已加载记录*的已更改数据,但它们不会轮询新创建记录的存在。您必须通过表单的Requery方法强制该表单执行此操作。

* 假设你没有从“动态集”

+0

感谢您的答复更改默认记录类型属性。但它不起作用。我在代码下输入了Me.Requery,但是没有任何变化 – Ish

+0

你知道这行代码:'Form_1_Test.Text10 = DLookup(“Legal_Name”,“1_Test”,“[Program_Name] ='”&Replace([Combo2] “,”''“)&”'和[BudgetYear] =“&([Combo0] - 1))'实际上并没有插入任何数据,对吗? – mwolfe02

+0

不是吗?但我想,它是通过使用“DLookup”函数获得价值,然后将该值分配给Text10? – Ish