MS Access。子窗体的ADO记录集。以编程方式设置子关系。不会自动填写字段

时间:2009-11-11 14:51:55

标签: ms-access vba controls ado parent-child

我有一个表单/子表单,用于将数据输入到ado表中。主窗体的记录集是窗口小部件的本地表和有关窗口小部件的信息(WidgetID,WidgetName,大小,颜色,位置等)。我正在通过连接到ADO记录集的子表单输入测试数据(每个窗口小部件多次测试,所有测试都具有唯一日期)到一个名为Tests的表。我在主窗体中有一个组合框findWidget,用户可以在其中选择WidgetID并更新主窗体上的一些信息。我还编写了VBA代码来完成父/子关系的工作,以更改子窗体的记录集,只显示与该WidgetID对应的测试。但是,当我在主窗体中选择WidgetID时,子窗体中有一个WidgetID字段,我希望自动填充该字段。这在我应用ADO记录集之前工作(我使用了两个本地表),并建立了父/子关系。然而,使用ADO似乎父/子不起作用所以我必须vba它。这是我试过的代码,这是在子窗体加载的时候:
Private Sub Form_Load()
Me.UCI = Forms!InputMainForm.findWidget
End Sub

代码执行时没有错误,但子窗体中的控件不会更新。加载表单时它只是空白。也许代码应该在findWidget组合的更新后?我不知道。如果我把它放在那里我不太确定如何引用子窗体的控件。任何想法?
感谢。

1 个答案:

答案 0 :(得分:2)

修好了。我只是将子窗体中控件的默认值设置为等于主窗体中的控件。我还将子窗体控件设置为锁定,以便用户无法选择其他窗口小部件。这意味着整个界面中只有一个位置供用户选择窗口小部件,并且是主窗体(findWidget)