设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[窗体] 期满提示语句问题

[复制链接]
跳转到指定楼层
1#
发表于 2011-2-20 15:26:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在例子中,张三的年休期限是15天,现在他今年请的年休假已超过了15天了,所以,我想在考勤录入窗体录入其年休考勤记录时能自动予以提示,在结束日期更新后事件写下如下代码,但不能正确运行,请问,如何修改?
Private Sub 结束日期_AfterUpdate()
If IsNull([开始日期]) Then
   MsgBox "请输入考勤开始日期!", vbExclamation + vbOKOnly, "温馨提示"
    Me.开始日期.SetFocus
     Else
      If CVDate([开始日期]) > CVDate([结束日期]) Then
        MsgBox "开始日期不能大于结束日期,请重新确认!", vbExclamation + vbOKOnly, "温馨提示"
         Me.开始日期.SetFocus
            Else
             If DLookup("年度年休总计", "年休考勤已满检测(年度总计)") > DLookup("年休期限", "年休考勤已满检测(年度总计)") Then
            MsgBox "年休已满,请重新确认!", vbExclamation + vbOKOnly, "温馨提示"
          Me.结束日期.SetFocus
      End If
    End If
  End If
End Sub



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2011-2-20 19:05:19 | 只看该作者
本帖最后由 roych 于 2011-2-24 09:03 编辑

大体这样吧,在结束日期里加上DateAdd作为条件限制就好了,如果没使用日历空间的话,其实可以直接应用有效性,更加简洁。
顺便说一下,你的附件还是有些小毛病的,你删除所有考勤记录后再打开窗体就会发现了,由于我的编程风格和你的不一样,所以我也不改了。

附件已更新,请下载验证。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
3#
 楼主| 发表于 2011-2-21 12:03:15 | 只看该作者
本帖最后由 ycxchen 于 2011-2-21 12:05 编辑

roych水平真高,删除所有考勤记录后再打开窗体就会发现的问题,应是下面语句造成的吧,请问,如果按你的思路,如何编程?
Me.AllowAdditions = False '不允许新增
Me.AllowDeletions = False '不允许删除
Me.AllowEdits = False '不允许编辑

另,我也觉得应用了ACCESS自带的日期控件,有时候真的会有问题。
4#
发表于 2011-2-21 17:35:29 | 只看该作者
佛云,不可说,不可说。——我只是看了部分代码,感觉和我的风格不一样而已。如果真要写的话,则需要看完全部。我一般用DTpicker+文本框而不用日历控件。
5#
 楼主| 发表于 2011-2-22 17:40:32 | 只看该作者
请问,除了roych修改的代码(如下)外,其它高手的思路如何?
If Me.结束日期 >= DateAdd("d", Me.开始日期, CLng(rian(Year(Date) - Year(DLookup("参加工作日期", "员工", "员工编号=" & [员工])))) - DLookup("已休年假", "已休年假检查", "员工编号=" & [员工])) Then
  Me.结束日期 = Null
  MsgBox "年休已满,请重新确认!", vbExclamation + vbOKOnly, "温馨提示"
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-16 16:13 , Processed in 0.080568 second(s), 30 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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