我在确定如何解决MS Access数据库报告输出问题时遇到了一些麻烦。
首先: 有三种形式,其中一种用于导航目的(HOME),在导航控件中有两个导航按钮(链接到其他两种形式中的任何一种),在子窗体字段上我使用非常像iframe。还有两份报告,每种报告都有一份报告。
第二 两种表单都有未绑定的文本字段,需要打印到报表输出中。不需要将这些字段保存或放入表中。 当表格被隔离(即模态,表格视图等)时,这些表格的价值会毫无问题地打印出来。未绑定字段是受控字段所在表单主体的一部分。
仅当在子窗体框/ iframe的“HOME”表单中查看表单时,报表才会显示#Name?
而不是其预期值。另外值得注意的是,子表单不具有Link Master Fields
或Link Child Fields
选项。
打印命令对象/按钮上使用的代码如下所示,位于非HOME窗体的页脚上:
Private Sub cmdPrint_Click()
Dim strWhere As String
If Me.NewRecord Then 'Check there is a record to print
MsgBox "Select a record to print"
Else
strWhere = "[CustomerID] = " & Me.[CustomerID]
DoCmd.OpenReport "TransferAgreement_EC", acViewPreview, , strWhere
End If
End Sub
有什么建议吗?我试着在这里搜索并搜索问题,但我还没有找到解决问题的方法。提前感谢您的意见!
答案 0 :(得分:0)
好。所以,通过运行大量实验找到了解决方案并修复了它。
在报表本身上,数据字段需要同时调用导航表单和子导航框,然后指向未绑定字段。例如,控制源中的一个字段是:
=[Forms]![Home]![NavigationSubform].[Form]![GCSerial_1]
这样,当报表不是导航表单的子表单时,报表将不会打印未绑定的字段。例如,默认情况下,我的另外两种形式是模态弹出窗口。当我"形成视图"它们作为模态提示,当我单击我的打印命令按钮时,未绑定的字段显示#Name?
,该按钮指定报告(不再)取决于子表单而不是孤立的表单。
感谢帮助和灵感! < 3