如何在报告访问中设置条件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的搜索声明无法满足我的需求......而且我不知道为什么......
答案 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的记录,如果没有找到则会打开表单。