Office中国论坛/Access中国论坛

标题: [求助]虚心请教各位高手,Access VBA中关于日期赋值的问题 [打印本页]

作者: 菜菜籽    时间: 2007-4-28 17:42
标题: [求助]虚心请教各位高手,Access VBA中关于日期赋值的问题
Access VBA中关于日期赋值的问题,在窗体文本框中输入假期开始时间(DAte 型)及假期天数,计算假期结束时间=假期开始时间+假期天数,在“计算假期”命令按钮的单击事件中添加以下语句有什么问题呢?[em06]

Me!假期结束时间 = #"Me!假期开始时间"#+"假期天数"

系统报有“语法错误”,那应该怎么写,敬请指教
作者: 方漠    时间: 2007-4-28 17:46
去掉"#", 正确的如下:

Me!假期结束时间 = Me!假期开始时间+Me!假期天数
作者: zhengjialon    时间: 2007-4-28 18:07
日期的加减一般用DATEADD函数来做的.
作者: 菜菜籽    时间: 2007-4-28 18:45
多谢方漠,刚才问题已解决!但有个疑惑,对日期类型引用不是需要用#   #?

又有新问题出现,需要通过判断组合框中输入的假期类型采用不同的计算假期方法,对应的If语句能这样写吗?[em04]

If Me!假期类别 = "年休假" Or "事假" then

Me!假期结束时间 = Me!假期开始时间+Me!假期天数

else....[em04]
作者: 一点通    时间: 2007-4-28 18:59
3楼已作了提示了,日期这样加减是错误的,要用函数来处理,请参照

http://www.office-cn.net/forum.php?mod=viewthread&tid=33813&replyID=&skin=1
作者: 菜菜籽    时间: 2007-4-28 19:05
哦,是错的吗,倒是实现,应该是比较笨的办法吧,那我再去试试DATEADD函数吧,多谢各位热心指导
作者: 菜菜籽    时间: 2007-4-28 22:58
DATEADD函数计算日期可以实现了,可是需要通过判断组合框中输入的假期类型采用不同的计算假期方法,对应的If语句能这样写吗?



If Me!假期类别 = "年休假" Or "事假"

窗体提示“类型”不匹配,不知道怎么改了
作者: 一点通    时间: 2007-4-28 23:02
传例子上来看下吧,因为这些都与格式有关的,单纯字面很难分析问题
作者: 菜菜籽    时间: 2007-4-28 23:31
[attach]24203[/attach]

请帮忙看看

作者: 菜菜籽    时间: 2007-4-28 23:33
不好意思,这个才是
作者: 菜菜籽    时间: 2007-4-28 23:34
[attach]24204[/attach]

作者: 一点通    时间: 2007-4-29 00:08
Private Sub 假期计算_Click()
   
Dim EndDay As Date
EndDay = DateAdd("d", Me.假期天数, Me.假期开始时间)

If Me.假期类别 = "年休假" Or Me.假期类别 = "事假" Then
    Me.假期结束时间 = DateAdd("d", Me.假期天数 + NWorkDay(Me.假期开始时间, EndDay), Me.假期开始时间)
Else
    Me.假期结束时间 = EndDay
End If

End Sub

作者: 菜菜籽    时间: 2007-4-29 00:18
十分感谢一点通不吝赐教,对于这种弱弱的问题也细心回答,在此也检讨一下自己基础实在太差,以后还要潜心学艺啊。




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