DoCmd.OpenReport 从导航窗体打印报告



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

人们声称它有效,但是,我有一个奇怪的问题。此代码始终只打印一个报表,即使我在所有这些报表中都有相同的代码。

我有模数1

Option Compare Database
Public strpubReportName As String

在所有 3 个报告和一个表单中,我都有相同的代码:

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。这应该可以做到。

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

最新更新