Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ms access MS Access:如何以编程方式添加子窗体_Ms Access_Vba - Fatal编程技术网

Ms access MS Access:如何以编程方式添加子窗体

Ms access MS Access:如何以编程方式添加子窗体,ms-access,vba,Ms Access,Vba,是否有方法使用Access VBA以编程方式将子窗体添加到窗体?我有一个临时表,在用户请求时动态生成。如果可能,我希望基于临时表创建一个表单,并将其作为子表单添加到预先存在的表单中。最好是创建子表单控件,并将源对象设置为表或查询 Me.NameOfSubformControl.SourceObject = "Query.Query1" Me.NameOfSubformControl.SourceObject = "Table.Temp" 还可以更新已保存查询的sql以引用新的临时表。为什么?为

是否有方法使用Access VBA以编程方式将子窗体添加到窗体?我有一个临时表,在用户请求时动态生成。如果可能,我希望基于临时表创建一个表单,并将其作为子表单添加到预先存在的表单中。

最好是创建子表单控件,并将源对象设置为表或查询

Me.NameOfSubformControl.SourceObject = "Query.Query1"
Me.NameOfSubformControl.SourceObject = "Table.Temp"

还可以更新已保存查询的sql以引用新的临时表。

为什么?为什么不使用现有的子窗体并在运行时更改recordsource和控件绑定到的字段?在我看来,在生产应用程序中进行设计更改是一种非常业余的做法。设置源对象不需要更改设计,它可以在运行时完成,子窗体控件也可以像窗体一样显示表或查询。在这种情况下,可以有3到50多个字段-当用户只要求3个字段时,不必要地将表单与50多个静态字段混在一起会导致糟糕的用户界面。问题是在运行时“添加”,而不是更改,所以我将其理解为设计更改请求。@David-W-Fenton为什么?您正在将源设置为表或查询,而不是表单,因此控件不相关。恐怕你说的不是真的。那似乎很有效。没有必要在这种情况下玩弄任何控制。我看错了。您建议设置子窗体的SourceObject(当然,这是您所说的,但我没有仔细阅读)。我正在删除评论。