Office中国论坛/Access中国论坛

标题: 【Access】判断是否为闰年 [打印本页]

作者: 盗梦    时间: 2013-8-8 11:02
标题: 【Access】判断是否为闰年
【Access】判断是否为闰年

         判断闰年向来是一个经典话题,主要是考究逻辑性。
         闰年分两种情况,一种是不能被100整除,能被4整除;
                                     一种是能被100整除的,要能被400整除。

         这样,一般要先判断能否被100整除,再根据判断结果进行下一步判断。
判断嵌套有点多。

         有没有简单的方法呢?
         答案是肯定的!能否被400整除也就是同时能否被100 和 4 整除。
那,我们可以先处理一下那个年份:先判断能否被100整除,能则除以100。
然后再判断能否被4整除即可。

          在窗体创建文本框txtYear 和按钮cmdYear。
方案一:
  1. Private Sub cmdYear_Click()
  2.     Dim yearNum As Integer      '定义变量
  3.     yearNum = CInt(Val(Nz(txtYear)))  '转换数据类型,(此处偷懒了)
  4.    
  5.      '先判断能否被100整除,能则处理一下。再判断能否被4整除
  6.     If IIf(yearNum Mod 100 = 0, yearNum / 100, yearNum) Mod 4 = 0 Then
  7.         MsgBox yearNum & "是闰年"
  8.     Else
  9.         MsgBox yearNum & "是平年"
  10.     End If
  11. End Sub
复制代码
方案二:
  1. Private Sub cmdYear_Click()
  2.     Dim yearNum As Integer      '定义变量
  3.     yearNum = CInt(Val(Nz(txtYear)))  '转换数据类型,(此处偷懒了)
  4.    
  5.      msgbox IIf(IIf(yearNum Mod 100 = 0, yearNum / 100, yearNum) Mod 4 = 0, yearNum & "是闰年", yearNum & "是平年")
  6. End Sub
复制代码
上面除了逻辑思维的应用之外,还使用了iif函数,这个函数是if结构的简化,有时有奇效作用哦


作者: tmtony    时间: 2013-8-8 11:10
不错,学习一下
作者: access学习交流    时间: 2013-8-8 11:19
学习了!
作者: 周义坤    时间: 2013-8-8 11:41
  1. iif(isdate("2/29/"&yearnum)),"闰年","平年")
复制代码

作者: 盗梦    时间: 2013-8-8 12:20
周义坤 发表于 2013-8-8 11:41

学习了
作者: euilo    时间: 2013-8-9 09:44
妙!赞一个。
作者: 盗梦    时间: 2013-8-9 10:13
euilo 发表于 2013-8-9 09:44
妙!赞一个。

:lol:lol:lol:lol:lol




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3