访问报告,其中报告名称是一个变量

Accessing a report, where report name is a variable

这可能是一个非常简单的问题,但我还没有在网上找到任何明显的答案。

我需要 back-engineer 一个 Access 数据库并将数据保存到一个文件中。目前它将此报告发送到打印机。

有一个按钮可以从下拉列表中读取报告名称。 我想做的是将此报告名称作为参数传递,获取报告的记录源并将其发送到文件。

目前我有这个 - 它可以工作但是是硬编码的:

DoCmd.TransferText acExportDelim, , "name of the query", "C:\temp\name of a file_.csv" & TheDate & ".csv", False

我想做的是这样的....

VQueryReportName = Vmyrs("txt_QueryReportName")
VQueryReportName = Replace(VQueryReportName, Chr(34), vbNullString)

QueryName = Reports![VQueryReportName].RecordSource

DoCmd.TransferText acExportDelim, , QueryName, "C:\temp\filename.csv", False

我已验证 VQueryReportName 确实包含正确的报表名称。 我得到的错误是:

这可能吗?

使用变量的值:

QueryName = Reports(VQueryReportName).RecordSource

但报告必须打开才能工作。

与其获取(打开的)报告的记录源,不如考虑创建一个查找 table,在一个字段中包含报告名称,在另一个字段中包含它所基于的查询。然后你可以设置一个combo box的source以此为基础table,然后这样得到query name

此致,