访问报告,其中报告名称为变量

时间:2020-07-23 09:10:25

标签: vba ms-access office365

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

我需要对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确实包含报告的正确名称。 我得到的错误是:

enter image description here

这可能吗?

2 个答案:

答案 0 :(得分:1)

使用变量的值:

QueryName = Reports(VQueryReportName).RecordSource

但是必须打开报告才能使它起作用。

答案 1 :(得分:0)

可以考虑创建一个查找表,该查询表的on字段中包含报告的名称,并在另一个字段中基于该查询,而不是获取(打开的)报告的Recordsource。然后,您可以将组合框的源设置为基于此表,然后以这种方式获取查询名称。

此致