设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
楼主: lmj9401
打印 上一主题 下一主题

[报表] access子报表难题

[复制链接]

点击这里给我发消息

1#
发表于 2012-7-8 21:13:55 | 显示全部楼层
子报表是可以知道自己在主报表的哪个子报表控件中的,子窗体也一样,这个以前研究过,
你的例子中在子报表的打开事件中输入以下代码即可:
  1.     Dim ctr As Control

  2.     For Each ctr In Me.Parent.Controls
  3.         If ctr.ControlType = acSubform Then
  4.             If ctr.SourceObject = "报表." & Me.Name Then
  5.                 If Nz(ctr.Report.RecordSource) = "" Then
  6.                     Me.RecordSource = "SELECT 颜色 FROM mdata WHERE 名称='" & ctr.Tag & "'"
  7.                     Exit Sub
  8.                 End If
  9.             End If
  10.         End If
  11.     Next
复制代码

点击这里给我发消息

2#
发表于 2012-7-11 20:35:55 | 显示全部楼层
lmj9401 发表于 2012-7-11 15:52
这个想法非常棒,但是我发现“Each ctr In Me.Parent.Controls”扫描控件的顺序一定要与子控件的初始化顺 ...

忘记复制一行错误处理的代码:
On Error Resume Next

前面加上这句就没问题了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-14 21:22 , Processed in 0.111007 second(s), 25 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表