访问VBA:在按钮单击时设置表单的记录源

时间:2011-08-02 22:48:21

标签: ms-access access-vba

我在一个表单中有一个“查看报告”按钮,当单击该按钮时,我想将另一个表单的记录源更改为其他表单并刷新它?

我试图将此代码放在按钮的单击功能中,但它不起作用

    access.forms("Form1").RecordSource = {bla bla}

但它不起作用。错误说它可以找到Form1 ..

任何帮助表示赞赏!
谢谢!

3 个答案:

答案 0 :(得分:5)

Access.Forms集合仅是开放表单的集合。如果要设置另一个表单的RecordSource,则必须确保首先打开另一个表单。

如果需要,可以将其他表单打开为Hidden,设置RecordSource,然后将表单的Visible属性设置为True。

答案 1 :(得分:0)

您不必将其他表单打开为隐藏,您只需在需要时打开表单然后设置Recordsource

DoCmd.OpenForm "Form1"
Forms.Item("Form1").RecordSource = {bla bla}

答案 2 :(得分:0)

这是一个老问题,尽管如此。我抛出一个屏幕刮擦作为表单显示,将原始表单记录集设置为没有关闭表单,从我的临时表中删除所有内容,然后重新打开表单。工作得很好。如果你有任何oncurrent事件,请注意什么周期,我不得不使用布尔值来取消当这个动作发生时的oncurrent。