以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 想加一句代码,以显示颜色 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=45089) |
-- 作者:zhangchi96 -- 发布时间:2014/1/15 14:34:00 -- 想加一句代码,以显示颜色
在窗体中添加按钮A,其代码如下: Dim shuliang1,shuliang2 As Integer For Each dr As Row In Tables("教职工信息表").Rows
现在我很想添加一段代码,使身份证号码显示如下颜色 尾数为8,背景黄色,字体红色 尾数为7,背景绿色,字体蓝色 其实我的本意不是判断尾数为7或8的,我是判断身份证号码是否符合编号规则,其年月日是否符合日期规则的,因为代码太长了,就改为判断位数是7或者8了。
以前发过好多的请教的问题,好多高手精心帮我指导,再次表示感谢(有点甜,y2287958,jspta,yan2006l,...)!再次恳请大师不吝指教,先谢谢了。
|
-- 作者:Bin -- 发布时间:2014/1/15 15:08:00 -- 参考帮助http://www.foxtable.com/help/topics/0656.htm 没什么难度的,判断一下最后一个字符是什么,然后设置样式即可.
|
-- 作者:zhangchi96 -- 发布时间:2014/1/15 22:15:00 -- 原来也看过,但好像大多写的是DrawCell事件,模仿写了几次运行都出错了,所以想到来这里求援了,还有烦请帮我完善一下代码吧。 |
-- 作者:有点甜 -- 发布时间:2014/1/15 22:23:00 -- 呃,不是很简单的么?你设置两个样式,然后写下面的代码 If e.Col.name = "身份证号" Then If e.Row("身份证").endswith("7") Then e.style = "样式1" Else If e.Row("身份证").endswith("8") Then e.style = "样式2" End If End If |
-- 作者:zhangchi96 -- 发布时间:2014/1/16 21:25:00 -- Dim s,s1,s2 As String
Dim s,s1,s2 As String s1 = e.Row("身份证号").SubString(8,1)
系统又提示,DrawCell事件代码不宜写得太复杂,如果计算身份号合法性的话会复杂更多,所以我想还是哪位帮我在一楼的代码中添加一下,用按钮事件执行比较能随意控制,如果不能的话我就只有在“身份证号”后面加个辅助列“号码合法性”了,免得用颜色太麻烦。
|
-- 作者:有点甜 -- 发布时间:2014/1/16 21:31:00 -- 判断一下字符长度 Dim s,s1,s2 As String Dim x1,x2,x3 As Integer If e.Col.name = "身份证号" AndAlso e.Row("身份证号").length > 9 Then s1 = e.Row("身份证号").SubString(8,1) s2 = e.Row("身份证号").SubString(9,1) x1 = val(s1) x2 = val(s2) If x1+x2 = 10 Then \'此段运算以后改为计算身份号是否合法的运算,因为复杂所以暂用此加法代替 e.style = "样式1" ElseIf x1+x2 = 11 Then e.style = "样式2" End If End If |
-- 作者:zhangchi96 -- 发布时间:2014/1/16 21:40:00 -- 一时疏忽,有一个身份证号为空,谢谢! |