设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[窗体] 求自动提醒结束日期不正确代码

[复制链接]
跳转到指定楼层
1#
发表于 2009-3-12 15:08:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
求自动提醒结束日期不正确代码
窗体1中有几个控件, 年代表整年数,月代表整月数(是从开始日期起计算的年月数,如开始日期是2008年1月1日,那么1年1月的结束日期应当为2009年1月31日),系统可以根据年、月和开始日期自动计算出结束日期,但计算出的结束日期并不直接体现出来,而是和人工录入的结束日期相比对,如果结束日期录入对的,就没有什么,但如果结束日期错误,那就会出现提示。
这个代码就是要达到这个效果.
这段vba如何写,请教了。

本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2009-3-12 16:14:16 | 只看该作者
查一下DateSerial()函数的用法就解决了。
3#
 楼主| 发表于 2009-3-12 16:47:37 | 只看该作者
是否能讲解得具体一些,最好提供一下例子.先谢了.
4#
发表于 2009-3-12 19:24:56 | 只看该作者
本帖最后由 todaynew 于 2009-3-12 19:35 编辑

没有看明白你实例的意思。我理解是不是要一个月末日期的问题?如果是这样的话,在表中【年】、【月】、【开始日期】、【结束日期】四个字段全部都是多余的。只需要一个录入的日期就可以了。这样的话,只是需要计算出该日期所属的月末日期是多少,当该日期大于该月月末日期时提示错误即可。

给你一个计算该月月末日期的实例,你看看是否有用。



F1中可以查到DateSerial的用法,摘录重要的部分如下:
以下示例中使用了数值表达式代替绝对日期。这里,DateSerial 函数返回 1990 年 8 月 1 日的 十 年 (1990 - 10) 零两个月 (8 - 2) 又一天 (1 - 1) 之前的日期;换句话说,就是 1980 年 5 月 31 日。
DateSerial(1990 - 10, 8 - 2, 1 - 1)

本帖子中包含更多资源

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

x
5#
 楼主| 发表于 2009-3-12 19:58:17 | 只看该作者
这个数据库是想验算结束日期是否正确,而不是只要一个月末日期的问题.
从开始日期起经过几年几个月就是结束日期,这个结束日期其实数据可以自行计算的,但为了验算人工计算是否正确,所以把系统计算的结束日期不显示出来.通过数据库计算的日期和人工计算的结束日期进行比较,如果人工计算的结束日期错误的,数据库就进行提醒.
以上就是想要达到的效果.
"todaynew"提供的例子很不错,收藏了,但不符合想要的思路.能否再想想办法.谢了.
6#
 楼主| 发表于 2009-3-13 18:26:41 | 只看该作者
看起来这个问题解决起来有点难了.
7#
发表于 2009-3-13 18:47:40 | 只看该作者
这个数据库是想验算结束日期是否正确,而不是只要一个月末日期的问题.
从开始日期起经过几年几个月就是结束日期,这个结束日期其实数据可以自行计算的,但为了验算人工计算是否正确,所以把系统计算的结束日期不显示出来 ...
明镜 发表于 2009-3-12 19:58


如你所说,直接计算出来不是很好吗?为何还要人工输入?
8#
发表于 2009-3-13 19:16:08 | 只看该作者
本帖最后由 todaynew 于 2009-3-13 19:19 编辑
这个数据库是想验算结束日期是否正确,而不是只要一个月末日期的问题.
从开始日期起经过几年几个月就是结束日期,这个结束日期其实数据可以自行计算的,但为了验算人工计算是否正确,所以把系统计算的结束日期不显示出来 ...
明镜 发表于 2009-3-12 19:58

我觉得是个很简单的问题,你看是否是这样:
1、输入【开始日期】,输入结束日期与开始日期间隔的【年】、【月】、【日】;
2、计算结束日期:
mydate=DateSerial(format(me.开始日期,“yyyy”) - me.年, format(me.开始日期,“mm”) - me.月, format(me.开始日期,“dd”) - me.日)
if not me.结束日期=mydate then
   msgbox “结束日期输入错误!”
end if

不过这样做似乎确无必要,正如楼上的同志所论,既然都计算出来了,干嘛还要录入呢?呵呵
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-1-4 05:41 , Processed in 0.100832 second(s), 32 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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