Foxtable(狐表)用户栏目专家坐堂 → 想加一句代码,以显示颜色


  共有4083人关注过本帖树形打印复制链接

主题:想加一句代码,以显示颜色

帅哥哟,离线,有人找我吗?
zhangchi96
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:555 积分:5037 威望:0 精华:0 注册:2012/2/11 13:27:00
想加一句代码,以显示颜色  发帖心情 Post By:2014/1/15 14:34:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:qq图片20140115142655.jpg
图片点击可在新窗口打开查看

 

在窗体中添加按钮A,其代码如下:

Dim shuliang1,shuliang2 As Integer
shuliang1=0  '统计的数量1
shuliang2=0  ‘统计的数量2
Dim haoma,xingming As String   ’定义身份证号码
Dim clr As Color = Color.Pink  '定义的粉红色

For Each dr As Row In Tables("教职工信息表").Rows
    haoma = dr("身份证号")
    xingming = dr("姓名")
    If dr("身份证号") <> Nothing Then
        If mid(haoma,18,1) = "7" Then
            shuliang1 = shuliang1 + 1
            MessageBox.Show("发现第" & shuliang1 & "个" & xingming & "尾号为7")
        ElseIf mid(haoma,18,1) = "8" Then
            shuliang2 = shuliang2 + 1
            MessageBox.Show("发现第" & shuliang2 & "个" & xingming & "尾号为8")   
        End If
    End If
Next

 

现在我很想添加一段代码,使身份证号码显示如下颜色

尾数为8,背景黄色,字体红色

尾数为7,背景绿色,字体蓝色

其实我的本意不是判断尾数为7或8的,我是判断身份证号码是否符合编号规则,其年月日是否符合日期规则的,因为代码太长了,就改为判断位数是7或者8了。

 

以前发过好多的请教的问题,好多高手精心帮我指导,再次表示感谢(有点甜,y2287958,jspta,yan2006l,...)!再次恳请大师不吝指教,先谢谢了。

 


 


 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/1/15 15:08:00 [只看该作者]

参考帮助http://www.foxtable.com/help/topics/0656.htm
没什么难度的,判断一下最后一个字符是什么,然后设置样式即可.

 回到顶部
帅哥哟,离线,有人找我吗?
zhangchi96
  3楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:555 积分:5037 威望:0 精华:0 注册:2012/2/11 13:27:00
  发帖心情 Post By:2014/1/15 22:15:00 [只看该作者]

原来也看过,但好像大多写的是DrawCell事件,模仿写了几次运行都出错了,所以想到来这里求援了,还有烦请帮我完善一下代码吧。


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By: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
  5楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:555 积分:5037 威望:0 精华:0 注册:2012/2/11 13:27:00
  发帖心情 Post By:2014/1/16 21:25:00 [只看该作者]

Dim s,s1,s2 As String
在表属性的 DrawCell事件中尝试写了一段代码,但是运行却出错 ,不知道什么原因

 

Dim s,s1,s2 As String
Dim x1,x2,x3 As Integer
If e.Col.name = "身份证号" 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

 

系统又提示,DrawCell事件代码不宜写得太复杂,如果计算身份号合法性的话会复杂更多,所以我想还是哪位帮我在一楼的代码中添加一下,用按钮事件执行比较能随意控制,如果不能的话我就只有在“身份证号”后面加个辅助列“号码合法性”了,免得用颜色太麻烦。

 


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By: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
  7楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:555 积分:5037 威望:0 精华:0 注册:2012/2/11 13:27:00
  发帖心情 Post By:2014/1/16 21:40:00 [只看该作者]

一时疏忽,有一个身份证号为空,谢谢!


 回到顶部