我有一个带有 VBA 模块的 Access 2010 数据库,可以对数据进行一些统计分析。统计分析的结果不能通过 SQL 生成,但可以以表格的形式呈现。现在,我可以在即时窗口中运行 VBA 函数,它会循环遍历结果并使用 Debug.Print() 将它们写入终端。
我想将此函数的结果提供给 Access 的其余部分,以便我可以从结果表中创建查询和报告。所以我正在寻找的是如何将我的函数变成一个“动态表”——一个实际上并不存储数据的表,而是存储在使用该表时动态运行和填充表数据的 VBA 函数.
我花了很多时间研究通过 MAKE TABLE 查询或在 VBA 中使用 DDL 动态创建表,但所有这些示例都使用 SQL 从现有记录创建新表。我不能使用 SQL 来生成结果,所以我不确定如何将结果强制转换为 Access 可以识别的对象。部分问题是我对 Access VBA 术语不够熟悉,不知道我应该寻找什么。
我的声明只是 "Public Function GenerateSchedule" 。它有三个代码块:第一个使用查询从数据库中提取我需要的数据,并将 RecordSet 处理成一个数组。第二个块对数组进行统计分析,第三个块将分析结果打印到终端。我想将第三个块替换为一个块,该块将结果作为一个表提供给 Access 的其余部分。