0

我在弄清楚如何解决我的 MS Access 数据库报告输出的问题时遇到了一些麻烦。

首先: 有三种形式,其中一种用于导航目的(HOME),在导航控件中有两个导航按钮(链接到其他两种形式中的任何一种),在子表单字段上我使用的很像 iframe。还有两份报告,其他表格各一份。

第二: 两个表单都有未绑定的文本字段,需要打印到报告输出中。无需保存这些字段或将其放入表中。当表单被隔离时(即模式、表单视图等),这些表单的值将毫无问题地打印出来。未绑定字段是受控字段所在表单主体的一部分。

只有在子表单框/iframe 中的“HOME”表单中查看表单时,才会显示报告#Name?而不是其预期值。另外值得注意的是,子表单没有orLink 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

有什么建议么?我试着在这里搜索并用谷歌搜索了这个问题,但我还没有找到解决我问题的方法。提前感谢您的意见!

4

1 回答 1

0

好的。因此,通过运行大量实验找到了解决方案,并修复了它。

在报表本身上,在数据字段上需要同时调用导航表单和子导航框,然后指向未绑定的字段。例如,控制源中的一个字段是:

=[Forms]![Home]![NavigationSubform].[Form]![GCSerial_1]
  • 主页 = 导航表单
  • NavigationSubform = 导航子表单框(我认为是“iframe”)
  • 表单 = 只是对表单的调用,不具体
  • GCSerial_1 = 未绑定的文本字段

这样,报表在不是导航表单的子表单时就不会打印未绑定的字段。例如,默认情况下,我的另外两个表单是模态弹出窗口。当我将它们作为模式提示“形成视图”时,#Name?当我单击我的打印命令按钮时会显示未绑定的字段,该按钮指定一个报告(不再)取决于子表单而不是孤立的表单。

感谢您的帮助和启发!<3

于 2016-12-07T00:09:00.407 回答