DoCmd.OpenReport从导航表格打印报告

问题描述:

我需要打印导航表单中嵌入的报告。我正在寻找一个在互联网上的解决方案,似乎最好的是: https://www.experts-exchange.com/questions/28236835/print-current-report-inside-of-navigation-form-access-2010.htmlDoCmd.OpenReport从导航表格打印报告

人们声称它的作品,但是,我有一个奇怪的问题。这段代码总是只打印一份报告,即使我在它们中都有相同的代码。

我有modul1

Option Compare Database 
Public strpubReportName As String 

在所有3个报告和一个形式I具有相同的代码:

Private Sub Report_GotFocus() 
strpubReportName = Me.Name 
End Sub 

然后放置在一个导航形式头部中的按钮具有:

Private Sub Polecenie20_Click() 
    DoCmd.OpenReport strpubReportName 
    strprvtReportName = "" 
End Sub 

它总是只打印一份报告(甚至不包括默认显示的报告)。无论我在导航表单中打开哪个报告,只打印一份报告。

此外,为什么有这条线?这个变量甚至没有在这个代码中创建或使用,这是作者的错误?我想这并不重要,因为将其更改为strpubReportName没有区别。

strprvtReportName = "" 

我怀疑代码可以工作。

有多种方法可以实现这一点。我想最简单的就是使用tempvar。

从模块1中删除代码,并在其他地方将strprvtReportName替换为TempVars!strprvtReportName。这应该做到这一点。

正如你所说,最后一行并没有真正的目的。你可以删除它。

+0

谢谢!有用! –