设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[与其它组件] [求助]输入编号自动生成日期的判断问题

[复制链接]
跳转到指定楼层
1#
发表于 2005-7-28 17:52:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Private Sub 社员编号_BeforeUpdate(Cancel As Integer)

Dim IntA As Integer, IntB As Integer, Stra As String

Select Case Len(社员编号)

Case 10

   IntA = 4

   Stra = ""

   IntB = 2

Case Else

MsgBox "社员编号位数错误,请重新输入!", , "提示"

Cancel = True

Exit Sub

End Select

If Not IsDate(Stra & Mid(社员编号, 1, IntA) & "/" & Mid(社员编号, 1 + IntA, 2) & "/" & Mid(社员编号, 3 + IntA, 2)) Then

MsgBox "社员编号日期错误!"

Cancel = True

Exit Sub

End If

If (Stra & Mid(社员编号, 1, IntA) & "/" & Mid(社员编号, 1 + IntA, 2) & "/" & Mid(社员编号, 3 + IntA, 2)) > Date Then

MsgBox "如果日期超前,提示社员编号日期错误!"

Cancel = True

Exit Sub

End If

入社时间 = Stra & Mid(社员编号, 1, IntA) & "/" & Mid(社员编号, 1 + IntA, 2) & "/" & Mid(社员编号, 3 + IntA, 2)

End Sub

输入社员编号自动生成入社时间,如果入社时间超前,提示编号错误

以上该如何修改,谢谢
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2005-7-28 18:15:00 | 只看该作者
为什么不将输入“社员编号”改为输入“入社时间”(日期格式)及输入“编号”(后两位的编码)需要显示社员编号时:   [入社时间]&[编号]    而对“入社时间”的检验只须在“有效性规则”中设置一下就可以了,根本不须长长的检验代码。对于您写的这段代码,检验字数是否为10位数,可以只在字段的掩码中设置就可以了,不需要代码的。即使使用代码用if....then....就够了,用不着 Select Case另外,Mid(社员编号, 1, IntA) & "/" & Mid(社员编号, 1 + IntA, 2) & "/" & Mid(社员编号, 3 + IntA, 2)  在代码中重复出现,为什么不用一个变量来保存它的值,这样不须重复读取数据去计算,虽然现在的计算机运算速度很快。

3#
 楼主| 发表于 2005-7-28 18:25:00 | 只看该作者
[em06]社员编号是唯一的,你说的那样不知道是否能记录到数据库中这个代码是身份证号码那拷贝来的,没有进行过多的修改青青姐姐帮助修改下你的qq呢?方便咨询谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-13 03:38 , Processed in 0.097128 second(s), 26 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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