Access 2013合并两份报表后超链接无法正常读取数据的问题
Access 嵌入窗体的子报表超链接引用失效解决思路
失效的核心原因是:当报表作为子控件嵌入未绑定窗体后,不再属于
Reports集合的顶层对象,原有直接引用顶层报表的路径无法定位到对应的控件值。
调整跨对象引用路径,指向父窗体下的子报表控件
先确认未绑定窗体的名称、以及窗体里两个子报表控件的名称(注意不是报表源本身的名称,是窗体中控件的命名,可在控件属性的「其他」选项卡查看),引用格式调整为:=[Forms]![未绑定窗体名称]![子报表控件名称].Report![LineItemID]
例如未绑定窗体命名为CombinedViewForm,第一个子报表控件命名为subReport1,则引用写为:=[Forms]![CombinedViewForm]![subReport1].Report![LineItemID]改用点击事件传递参数(适配性最高)
把原有的超链接控件替换为普通可点击文本框或按钮,在点击事件中编写VBA直接读取当前行的字段值打开表单,无需写跨对象引用:Private Sub OpenProcessForm_Click() ' 数值类型ID用这个写法,文本类型需要加单引号包裹 DoCmd.OpenForm "后续处理表单名", WhereCondition:="LineItemID=" & Me!LineItemID End Sub拼接参数到超链接地址
不想改动代码的话可以直接把字段值拼接到超链接的跳转参数里,直接使用当前报表的上下文字段值,无需跨对象引用:#Form_你的处理表单名?LineItemID=[LineItemID]
内容的提问来源于stack exchange,提问作者Ion Khan
相关产品推荐
相关产品推荐

