2016-05-18 24 views
0

我在访问中使用下面的代码。如果,那么,在访问其他功能

我试图设置它,使2个文本框不能留空,如果他们有日期,那么它将继续生成一个报告。

If IsNull(Me.txtStart.Value) Then 
    MsgBox "Please ensure that both date fields are populated" 
    Exit Sub 
ElseIf IsNull(Me.txtEnd.Value) Then 
    MsgBox "Please ensure that both date fields are populated" 
    Exit Sub 
Else 
End If 

预先感谢您

+0

什么问题?如果任一文本框为空,则代码将不做任何处理。您不需要'Else'只需在if语句后添加使用这些值的代码即可。 – ChrisF

+0

当我试图运行与空白字段的报告,我得到的msgbox ,,但是当两个文本框中的日期在msgbox仍然显示,但它应该显示报告 – Wolfie84367

回答

2

只需使用

If IsNull(Me.txtStart.Value) Or IsNull(Me.txtEnd.Value) Then 
    MsgBox "Please ensure that both date fields are populated" 
    Exit Sub 
End If 
' open the report here 

不需要的Exit Sub后使用Else

其实我更喜欢这种编码风格的初始检查大Else个案。

+0

您发布的代码的作品,但是当(me.txtStart.Value )文本框是空的,它不会将其识别为空并运行报告。 – Wolfie84367

+0

@ Wolfie84367:'txtStart'应该是只接受NULL(空)或日期的日期字段。不应该有任何含糊之处。通过为文本框的“格式”属性分配“日期”格式,这是最简单的方法。 – Andre