Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

才能让报表中的字段不显示数字?

虽虽TV  发表于:2011-09-22 22:51:15  
复制

表中姓名有重复的,为区分重复的姓名,凡是重复的姓名在其后面都加上数字。然而在报表(打印)中又不想看到这数字(只显示汉字)。如何实现?

 

点击下载此附件

 

 

 

Top
符鸿敏 发表于:2011-09-22 23:11:32

两个办法:

一、姓名字段的姓名后不加数字,通过前面的编号识别,或增加其它有识别价值的字段如出生年月、工作单位、科室等。

二、如果一定要保留姓名后的数字,可另加一姓名识别字段,在姓名字段不加数字,而在识别字段的姓名后加数字。



丘山 发表于:2011-09-23 00:19:02

Public Function zhongwen(str As String) As String
Dim i As Integer
Dim l As Integer
zhongwen = ""
l = Len(str)
For i = 1 To l
   If Mid(str, i, 1) >= 0 And Mid(str, i, 1) <= 9 Then
   Else
   zhongwen = zhongwen & Mid(str, i, 1)
   End If
Next
End Function

 

报表姓名字段的数据源 zhongwen(姓名)

不过我还是建议你采用一楼的第一种做法

利用工号或人员编号来标识,便于维护



dbaseIIIer 发表于:2011-09-23 04:11:10

直接在报表上更改就行了! 写什么代码!

 

1. 把控件改名为 "姓名F"

2. 把绑定内容 由原来的 "姓名" 改为 "=IIF( IsNumeric( Right( [姓名], 1)), Left( [姓名], Len([姓名])-1), [姓名])"

数据里没有0长度 或 Null 值吧?

 

要做第1步骤的原因是 步骤2里面的 [姓名] 是要读数据集内的 [姓名],

你不改掉控件名称会形成循环错误表达式,

因为 [姓名] 会默认先从报表控件搜寻, 才到数据集的!

 

另外, 你改控件名称时, 用 2003或以后时, 记得以上的顺序,

因为 97版后, 你改控件名称, 系统会自动会自动搜寻所有控件的 ControlSource,

把 [姓名] 全部改为 [姓名F] 的!



总记录:3篇  页次:1/1 9 1 :