Office中国论坛/Access中国论坛

标题: 一个很菜的问题,高手帮忙 [打印本页]

作者: sevencn    时间: 2002-12-17 01:17
标题: 一个很菜的问题,高手帮忙
各位请帮我看看这段代码,我不知道为什么,系统就是认为,IF..Else 出错。我是做一个时间的加法,但是由于 要加的这个字段有可能为空,我就要先判断这个字段是否为空,如果为空,就让他赋值为0,否则为字段的数值。

Private Sub BeginProductDate_BeforeUpdate(Cancel As Integer)
MsgBox " Möchten Sie mit die Dauerzeit Endetermin abrechnen?"
Dim StartT As Date  ' Variablen deklarieren.
Dim EndeT As Date   ' Variablen deklarieren.
Dim IntervallTyp As String
Dim Dauer As Integer

IntervallTyp = "d"    ' "d" gibt Alltage als Intervall an.


StartT = Me.BeginProductDate
If Me![DurationTime] = Null Then Dauer = "0"
Else: Dauer = Me![DurationTime]
End If

EndeT = DateAdd(IntervallTyp, Dauer, StartT)
Me![EndProductDate] = EndeT


End Sub
作者: cattjiu    时间: 2002-12-17 01:24
If Me![DurationTime] = Null Then
Dauer = 0
Else
Dauer = Me![DurationTime]
End If


[此贴子已经被cattjiu于2002-12-16 17:24:15编辑过]


作者: sevencn    时间: 2002-12-17 01:40
谢谢回答,可是还是不对,这个我也试过了 错误提示为 Null的应用不正确,可不可以在MsgBox中限制,如果为VbNo不进行这个计算,怎么写这个代码。

if MsgBox (" Möchten Sie mit die Dauerzeit Endetermin abrechnen?",vbYesNo)= vbNo then goto End Sub

Else

请求再次指点

作者: cattjiu    时间: 2002-12-17 02:46
If Me![DurationTime] = "" Then '还不行就试=0
Dauer = 0
Else
Dauer = Me![DurationTime]
End If
作者: sevencn    时间: 2002-12-17 02:51
谢谢,问题解决,我是这么写的。

If Not IsNull(Me.DurationTime) Then
Dauer = Me![DurationTime]
Else
Dauer = 0

End If
,但我想让MsgBox也可以有选择,如何写呢。如何加MsgBox 语句呢。
作者: cattjiu    时间: 2002-12-17 02:59


if MsgBox (" Möchten Sie mit die Dauerzeit Endetermin abrechnen?",vbYesNo)= vbNo then exit Sub

Else


作者: sevencn    时间: 2002-12-17 03:18
很感谢帮助,if ....then exit sub
else Me![DurationTime].Setfocus
end if


我想让他聚集到这个字段让他填写。怎么不对呢

作者: sevencn    时间: 2002-12-17 05:37
请求会的的人给予帮助,先谢谢了,



作者: 李寻欢    时间: 2002-12-17 06:40
Me![DurationTime].Setfocus
改为
Me.DurationTime.Setfocus
试试看

作者: sevencn    时间: 2002-12-17 06:52
感谢帮助,可惜不行。可否还有高招




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