设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1899|回复: 5
打印 上一主题 下一主题

[报表] 如何根据数据的条件显示不同的内容

[复制链接]
跳转到指定楼层
1#
发表于 2010-6-4 18:16:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我做了一个报表,根据客户的不同,出现两种不同的提示
有一个字段[类别],我想这样做,当这个客户是类别为A时,报表的提示文字为中文
当这个客户的类别是B时,报表的提示文字为英文,报表是要一次性打印出来的,其中t1为写着中文的标签,t2为写着英文的标签,代码如何写呀
我是这样写的代码
Private Sub Report_Open(Cancel As Integer)
If [类别] = "cn" Then
Me.t1.Vasible = False
Me.t2.Vasible = Ture
else
Me.t1.Vasible = Ture
Me.t2.Vasible = False
End If
End Sub

可是总是有错误提示,总是出现中断,好像控件引用出错
这种功能的代码如何写呢?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2010-6-4 19:04:36 | 只看该作者
用一个文本框,数据源=iif([类别]="cn","中文标签内容","英文标签内容")
3#
 楼主| 发表于 2010-6-5 10:55:59 | 只看该作者
用文本框觉得有点麻烦,想用代码控制
4#
发表于 2010-6-5 11:58:46 | 只看该作者
用文本框觉得有点麻烦,想用代码控制
yuzhusisi 发表于 2010-6-5 10:55



把代码写在format事件中试试
5#
发表于 2010-6-5 12:18:21 | 只看该作者
Access的报表不支持文本框控件的可见属性,但可变通使用调整其宽度来曲线达到类似的目的。
Private Sub 主体_Format(Cancel As Integer, FormatCount As Integer)
If Nz([分类], "") = "cn" Then
    Me.t1.Width = 1222
    Me.t2.Width = 0
Else
    Me.t1.Width = 0
    Me.t2.Width = 1222
End If

End Sub
6#
 楼主| 发表于 2010-6-5 16:55:46 | 只看该作者
谢谢,我试下
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-16 08:50 , Processed in 0.087597 second(s), 29 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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