我想要创建一个弹出式表单,其中包含一个动态创建的子表单列表。子窗体的数量由父窗体中的用户确定。
这里有一个草图来说明我想做什么。用户可以将"Num分支“的值更改为2到10。这个数字反过来反映在以下可滚动框中创建的子窗体数量中。所有的子形式都是相同的,我用红色勾勒了它们。
关于如何做到这一点,我有几个问题
发布于 2017-11-03 12:24:00
您可能不想动态创建子窗体控件(因为创建控件=切换到设计视图,需要对数据库进行独占锁定,等等)。
您不能使用类似连续表单的方法,因为Access不允许连续窗体上的子窗体控件。
我的方法是在表单上设置10个(最大的)子窗体控件,将它们全部隐藏起来,并将它们动态分配给特定的源对象。
伪码:
Dim numBranches As Long
Dim i As Long
For i = 1 to numBranches
Me.Controls("subform" & i).Visible = True
Me.Controls("subform" & i).Form.Filter = "branch = " & i 'Appropriate filter here
Me.Controls("subform" & i).Form.FilterOn = True
Next i
https://stackoverflow.com/questions/47103413
复制