设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[窗体] 更新事件发生后为什么不保存记录的?

[复制链接]
跳转到指定楼层
1#
发表于 2011-12-5 16:59:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
代码如下,但不能正确运行
Private Sub 结束日期_AfterUpdate()
If IsNull([开始日期]) Then
   MsgBox "请输入考勤开始日期!", vbExclamation + vbOKOnly, "温馨提示"
    Me.开始日期.SetFocus
     Else
      If CVDate([开始日期]) > CVDate([结束日期]) Then
        MsgBox "开始日期不能大于结束日期,请重新确认!", vbExclamation + vbOKOnly, "温馨提示"
         Me.开始日期.SetFocus
           Else
            
             If DCount("*", "年休已满检测") > 0 Then
            MsgBox "已超出年休假限休天数,请重新确认并核对后修改!", vbExclamation + vbOKOnly, "温馨提示"
            DoCmd.GoToRecord , , acLast '回到最后一条记录,以便记录的修改
          Me.结束日期.SetFocus
       End If
     End If
  End If
End Sub

例子:张三的工龄为36年,年休期限为15天,现已休了13天,我在录入窗口中录入他新的年休考勤记录(2011-03-09至上011-03-15),按理2011-03-09至上011-03-15共7天,那么,张三的年休已超出15天的期限,在录入结束日期时应予以提示,即
If DCount("*", "年休已满检测") > 0 Then这句要运行,但录入后不正确运行。我认为,这是新的年休考勤记录没保存造成的,致使DCount函数不能统计最新的记录。请问,既然更新事件发生了,为什么不保存记录的?

本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2011-12-5 22:09:10 | 只看该作者
  1. Private Sub 结束日期_AfterUpdate()
  2.     If IsNull([开始日期]) Then

  3.         MsgBox "请输入考勤开始日期!", vbExclamation + vbOKOnly, "温馨提示"
  4.         Me.开始日期.SetFocus
  5.     Else
  6.         DoCmd.RunCommand acCmdSaveRecord
  7.         If CVDate([开始日期]) > CVDate([结束日期]) Then
  8.             MsgBox "开始日期不能大于结束日期,请重新确认!", vbExclamation + vbOKOnly, "温馨提示"
  9.             Me.开始日期.SetFocus
  10.         Else

  11.             If DCount("*", "年休已满检测") > 0 Then
  12.                 MsgBox "已超出年休假限休天数,请重新确认并核对后修改!", vbExclamation + vbOKOnly, "温馨提示"
  13.                 DoCmd.GoToRecord , , acLast    '回到最后一条记录,以便记录的修改
  14.                 Me.结束日期.SetFocus
  15.             End If
  16.         End If
  17.     End If
  18. End Sub
复制代码
3#
 楼主| 发表于 2011-12-6 09:22:07 | 只看该作者
本帖最后由 ycxchen 于 2011-12-6 09:22 编辑

谢谢版主指教!其实,我也试过用你的保存数据的类似语句:DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70;但有时候不能正确运行,提示与Calendar6_Click()有冲突,如何解决?
4#
发表于 2011-12-6 10:14:08 | 只看该作者
Calendar6_Click()是干嘛用的?
5#
 楼主| 发表于 2011-12-6 10:42:00 | 只看该作者
本帖最后由 ycxchen 于 2011-12-6 10:43 编辑

不好意思,说不清楚,是说与日历控件的单击事件(Calendar6_Click())有冲突,请问,如何解决?
6#
发表于 2011-12-6 10:53:04 | 只看该作者
建议日期控件用下面这个

本帖子中包含更多资源

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

x
7#
 楼主| 发表于 2011-12-6 11:01:35 | 只看该作者
谢谢版主的热心帮忙!我用的日历控件是ACCESS自带的呀,我真的不明既然更新事件发生了,为什么不保存记录的?
8#
发表于 2011-12-6 11:04:43 | 只看该作者
绑定窗体要窗体更新后才保存到表,而不是某个控件更新后就自动保存,除非您用保存语句保存记录!
9#
 楼主| 发表于 2011-12-6 11:53:30 | 只看该作者
谢谢指教!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-28 00:27 , Processed in 0.103937 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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