| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3649 人关注过本帖
标题:关于在access中怎么才能根据身份证号码(15位或18位)筛选出用户性别? 多谢 ...
只看楼主 加入收藏
fj0909
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2006-2-15
收藏
 问题点数:0 回复次数:2 
关于在access中怎么才能根据身份证号码(15位或18位)筛选出用户性别? 多谢各位!!
有个问题 我想请教你一下:就是关于在access中 怎么才能根据身份证号码(15位或18位)筛选出用户性别 我找到了一个在EXCEL中的方法:=IF(MOD(IF(LEN(C2)=15,MID(C2,15,1),MID(C2,17,1)),2)=1,"男","女")” 但是由于我的数据量很大 只能在access中操作 你说我怎么写这个语句呢?
搜索更多相关主题的帖子: 身份证号码 access 性别 筛选出 用户 
2006-02-15 11:46
gy0503
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2006-2-13
收藏
得分:0 
注意:重新建立一个窗体,把下面非红色文字粘贴到代码区即可。蓝色文字是控件的名称,如果你添写身份证号的控名称是“证件号码”,那要把下面所有的“身份证号码”改为“证件号码”。可以把库发给我,我帮你做。
http://gy0503.id666.com 我的主页,支持一下点击率,上面有美女的。
我的邮箱:gy0503@126.com
1、先把下列代码复制到代码窗口任意位置 :
Function idcode(sCode15 As String) As String

Dim i As Integer
Dim num As Integer
Dim code As String
num = 0
idcode = Left(sCode15, 6) + "19" + Right(sCode15, 9)

For i = 18 To 2 Step -1
num = num + (2 ^ (i - 1) Mod 11) * (Mid(idcode, 19 - i, 1))
Next i
num = num Mod 11
Select Case num
Case 0
code = "1"
Case 1
code = "0"
Case 2
code = "X"
Case Else
code = Trim(Str(12 - num))
End Select
idcode = idcode + code
End Function

2、如果你的数据很多,在成为当前的代码里,把15位号变为18位,再根据18位号码让性别显示男或女,然后设置计时器,在计时器触发事件里写入进入下一记录的代码,这样当你加载窗体里,数据会自动移动并更新,但到最后一条记录里会出现错误,因为到最后一条时,下一条记录是新添加记录,不过没关系,出现错误时按结束就行了。
Private Sub Form_Current()
'在成为当前中添加代码
Dim gy As String '声明变量
If Len(身份证号码) = 15 Then
gy = idcode(Me.身份证号码) '引用上面的声明,将15位身份证号变为18位
身份证号码 = gy
Me.性别 = IIf(Val(Mid(gy, 17, 1)) / 2 = Int(Val(Mid(gy, 17, 1)) / 2), "女", "男") '根据身份证号显示性别
ElseIf Len(身份证号码) = 18 Then
Me.性别 = IIf(Val(Mid(Me.身份证号码, 17, 1)) / 2 = Int(Val(Mid(Me.身份证号码, 17, 1)) / 2), "女", "男")
Else
MsgBox "输入的身份证位数不正确!", 46, "提示"
End If
End Sub
Private Sub Form_Load()
’窗体加载事件
Me.TimerInterval =1 '设置计时器
End Sub
Private Sub Form_Timer()
'计时器触发
DoCmd.GoToRecord , , acNext '进入下一条记录
End Sub

[此贴子已经被作者于2006-2-19 9:55:57编辑过]


青山在脚下,云海任翱翔。一羽揽乾坤,绝无两相同。
2006-02-19 09:54
w3hjn
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2006-3-1
收藏
得分:0 
好厉害呀!又学到一招。

财务精英网 http://www./adget.php?id=7749
2006-03-01 11:28
快速回复:关于在access中怎么才能根据身份证号码(15位或18位)筛选出用户性别? ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020259 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved