我刚刚开始在vba中使用Access。我提供了表,角色,年份以及在特定年份中每个角色的工作量。表中的每个记录都是IDRole,IDYear,Workload(数字)。我以做交叉表的形式显示表格,其中年份在列中,角色在行中。年数可以增加。
我的问题是,当我添加新的年份并显示在列中时,它没有出现在表单中,因此我必须手动从字段列表中进行选择,但是我想知道在VBA中是否有任何方法可以解决该表单的问题。加载后,会自动显示新的列(年)。
我误会了你的情况。表单的交叉表数据源实际上是一个表而不是一个查询。并且,当您向该表中添加列时,您希望新的列在下次打开表单时自动出现在表单中。
在那种情况下,请使用下面描述的方法,但是在“源对象”下拉列表中选择查询(Query.qryFoo2)的地方,在该下拉列表中选择表... Table.YourTableName ...。
无论您的数据源是表还是查询,下面的最后两段均适用。
如果将交叉表查询另存为命名查询,则可以将其用作子窗体控件的源对象。
然后,当您从“设计”切换到“表单视图”时,查询结果将显示在子表单控件内的“数据表视图”中。
随着列数随时间的变化,数据表视图可以“自动适应”以显示它们……就像直接在数据表视图中打开命名查询一样。
据我所知,没有其他合理简单的方法可以完成您想要的事情。如果此建议不合适,则可以在检查查询当前返回的字段集之后,以编程方式探索将绑定数据控件添加到现有表单中。但这是IMO的过多努力。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句