Ms access MS访问表单加载

Ms access MS访问表单加载,ms-access,vba,ms-access-2003,Ms Access,Vba,Ms Access 2003,我有一个有两个组合框和两个按钮的表单。其中一个按钮(称为“滚动”)用于滚动上一年的数据。单击时,它应该能够获取上一年的数据,并插入到下一年的表单中 我已经编写了代码,但当单击按钮时,它不会插入数据,而是在表单打开一次后插入数据 例如: 我点击“滚动”,然后点击一个表单,表单打开了,但是没有数据。我关闭表格。再次单击“翻滚”。我再次打开表单,数据已经插入 我不知道为什么它不允许我在表单至少打开一次的情况下插入数据 下面是我的代码的样子: Form_1_Test.Text10 = DLookup("

我有一个有两个组合框和两个按钮的表单。其中一个按钮(称为“滚动”)用于滚动上一年的数据。单击时,它应该能够获取上一年的数据,并插入到下一年的表单中

我已经编写了代码,但当单击按钮时,它不会插入数据,而是在表单打开一次后插入数据

例如: 我点击“滚动”,然后点击一个表单,表单打开了,但是没有数据。我关闭表格。再次单击“翻滚”。我再次打开表单,数据已经插入

我不知道为什么它不允许我在表单至少打开一次的情况下插入数据

下面是我的代码的样子:

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

插入数据后,可能需要重新查询表单。在
MyButton\u Click()
代码的末尾添加以下行(即插入新记录的代码之后):


请记住,您不是在“表单”中插入记录,这可能会有所帮助。而是将记录插入表单所基于的基础表中

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


*假设您没有从“Dynaset”更改默认记录集类型属性

谢谢您的回复。但它不起作用。我输入了我。在代码下重新查询,但没有任何变化。你知道这一行:
Form\u 1\u Test.Text10=DLookup(“合法名称”、“1\u测试”、“程序名称”=”&Replace([Combo2]、“,”)、“,”)、[BudgetYear]=”&[Combo0]-1))
实际上没有插入任何数据,对吗?但我认为,它是通过使用“DLookup”函数获取值,然后将该值赋给Text10?DLookup函数的结果被赋给Text10,但表单不存储数据。如果您想将数据实际添加到某个基础表中,则需要使用“追加查询”(
插入…
)。
Me.Requery