表格中的动态输入数量

时间:2014-08-20 08:39:56

标签: forms ms-access

这应该是访问中非常常见的事情:假设您有一个表Employees与表Workdays具有多对多关系。如同,工作日是Workdays中的记录,对于任何一天的工作,当天可以有多名员工(显示第三个表,我认为它被称为联结表?)

现在,假设您要创建一个表单,用户输入在某一天工作的员工。每天有不断变化的员工数量,因此输入员工的文本框/组合框数量不断变化。

我想问一下是否有传统/方便/可接受的方式来做到这一点。我想到了两种方法:让一定数量的文本框不可见,每次收到输入时,将新的可见属性设置为Visible=True,第二种方式使用CreateControl方法。对于应该非常普遍的事情,这两种方式似乎都有点无意义。

1 个答案:

答案 0 :(得分:0)

您不必动态创建或显示/隐藏单个控件。您可能需要的只是工作日的主要表单,其中包含当天工作的员工的子窗体控件,如下所示:

设计视图:

DesignView.png

表单视图:

FormView.png

子表单控件包含一个绑定到联结表[TimeCards]的连续表单表单。

Workday    EmployeeID  HoursWorked
---------  ----------  ----------- 
9/10/2014           1            7
9/10/2014           3            6
9/10/2014           4            9

通过[Workday]值链接到“master”表单的“child”子表单。您可以通过简单地向子表单添加新行来输入给定工作日的可变数量的条目(通过“新记录”行,旁边带有星号)。

有关详细信息,请参阅

Create a form that contains a subform