访问报告中的条件声明

时间:2015-03-16 02:21:13

标签: ms-access access-vba ms-access-2007

如何在报告访问中设置条件if else语句?

这是报告中搜索特定数据的编码.....

Dim lngID As String
lngID = InputBox("Enter RF No")
If lngID = "" Then
DoCmd.ClearMacroError
Else
DoCmd.OpenReport "Requisition_ReportComplete", acViewReport, , "[RF_no]=" & lngID
End If

这是if else语句的编码

Dim lngID As String

lngID = InputBox("Enter RF No")
If lngID = "" Then
DoCmd.ClearMacroError
ElseIf lngID <> RF_no Then
MsgBox "Data not exist"
Else
DoCmd.OpenReport "Requisition_ReportComplete", acViewReport, , "[RF_no]=" & lngID
End If

if else的搜索声明无法满足我的需求......而且我不知道为什么......

1 个答案:

答案 0 :(得分:0)

我假设RF_no是参考编号并且是主键。如果RF_no只是您在If语句之前定义的一个特定数字,那么您的代码将正常工作。在打开表单之前,您可以检查表中是否存在记录的一种方法是使用Dcount或Dlookup,即:

ElseIf DCount("SomeField", "YourTable", "RF_no=" & lngID) = 0 Then

ElseIf IsNull(DLookup("[Some Field]", "YourTable", "[RF_no] = " & lngID)) Then

任何一个都应该正常工作。他们将检查您的表中是否存在ID = lngID的记录,如果没有找到则会打开表单。