MS Access:未在报表上显示的子窗体中的未绑定字段

时间:2016-12-06 04:11:34

标签: vba ms-access ms-access-2013 ms-access-2016

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

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

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

仅当在子窗体框/ iframe的“HOME”表单中查看表单时,报表才会显示#Name?而不是其预期值。另外值得注意的是,子表单具有Link Master FieldsLink 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

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

1 个答案:

答案 0 :(得分:0)

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

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

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

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

感谢帮助和灵感! < 3