G
Guest
Can you combine a Select Case statement with an If and/or ElseIf statement?
I am trying to create a switchboard that gives you the option to select a
certain report. However, you can sort the report by 5 criteria and then
select another set of criteria you want the report to be off. Here is the
string:
Private Sub WRACmd_Click()
Dim stDocName As String
'Dim varhowsort As Variant
Dim varsortby As Variant
Dim vardate As Variant
Dim vardateto As Variant
Dim varFM As Variant
Dim varID As Variant
Dim varNH As Variant
Dim varTrade As Variant
'All reports for WRA Reports
stDocNameWRA1Date = "WRA1DateRpt"
stDocNameWRA1FM = "WRA1FMRpt"
stDocNameWRA1ID = "WRA1IDRpt"
stDocNameWRA1NH = "WRA1NHRpt"
stDocNameWRA1Trade = "WRA1TradeRpt"
stDocNameWRA2Date = "WRA2DateRpt"
stDocNameWRA2ID = "WRA2IDRpt"
stDocNameWRA2NH = "WRA2NHRpt"
stDocNameWRA2Trade = "WRA2TradeRpt"
stDocNameWRA3Date = "WRA3DateRpt"
stDocNameWRA3FM = "WRA3FMRpt"
stDocNameWRA3NH = "WRA3NHRpt"
stDocNameWRA3Trade = "WRA3TradeRpt"
stDocNameWRA4Date = "WRA4DateRpt"
stDocNameWRA4FM = "WRA4FMRpt"
stDocNameWRA4ID = "WRA4IDRpt"
stDocNameWRA4Trade = "WRA4TradeRpt"
stDocNameWRA5Date = "WRA5DateRpt"
stDocNameWRA5FM = "WRA5FMRpt"
stDocNameWRA5ID = "WRA4IDRpt"
stDocNameWRA5NH = "WRA5NHRpt"
varsortby = Me!FrameSortBy
vardate = Me!CboDateFrom
vardateto = Me!CboDateTo
varFM = Me!CboFM
varID = Me!CboID
varNH = Me!CboNH
varTrade = Me!CboTrade
'This is if all empty
Select Case varsortby
Case 1: stDocName = "WRAbyDate"
Case 2: stDocName = "WRAbyFM"
Case 3: stDocName = "WRAbyID"
Case 4: stDocName = "WRAbyNH"
Case 5: stDocName = "WRAbyTrade"
End Select
'These will run reports sorted by Date.
If varsortby = 1 And varFM = "" And varID = "" And varNH = "" And varTrade =
"" Then
DoCmd.OpenReport stDocNameWRA1Date, acViewNormal
'GoToSkipOver
End If
If varsortby = 1 And vardate = "" And vardateto = "" And varID = "" And
varNH = "" And varTrade = "" Then
DoCmd.OpenReport stDocNameWRA1FM, acViewNormal
'GoToSkipOver
End If
If varsortby = 1 And varedate = "" And vardateto = "" And varFM = "" And
varNH = "" And varTrade = "" Then
DoCmd.OpenReport stDocNameWRA1ID, acViewNormal
'GoToSkipOver
End If
If varsortby = 1 And vardate = "" And vardateto = "" And varFM = "" And
varID = "" And varTrade = "" Then
DoCmd.OpenReport stDocWRA1NH, acViewNormal
'GoToSkipOver
End If
If varsortby = 1 And vardate = "" And vardateto = "" And varFM = "" And
varID = "" And varNH = "" Then
DoCmd.OpenReport stDocNameWRA1Trade, acViewNormal
'GoToSkipOver
End If
'These will run reports sorted by FM.
If varsortby = 2 And varFM = "" And varID = "" And varNH = "" And varTrade =
"" Then
DoCmd.OpenReport stDocNameWRA2Date, acViewNormal
'GoToSkipOver
End If
If varsortby = 2 And vardate = "" And vardateto = "" And varFM = "" And
varNH = "" And varTrade = "" Then
DoCmd.OpenReport stDocNameWRA2ID, acViewNormal
'GoToSkipOver
End If
If varsortby = 2 And vardate = "" And vardateto = "" And varFM = "" And
varID = "" And varTrade = "" Then
DoCmd.OpenReport stDocNameWRA2NH, acViewNormal
'GoToSkipOver
End If
If varsortby = 2 And vardate = "" And vardateto = "" And varFM = "" And
varID = "" And varNH = "" Then
DoCmd.OpenReport stDocNameWRA2Trade, acViewNormal
'GoToSkipOver
End If
'These will run reports sorted by ID.
If varsortby = 3 And varFM = "" And varID = "" And varNH = "" And varTrade =
"" Then
DoCmd.OpenReport stDocNameWRA3Date, acViewNormal
'GoToSkipOver
End If
If varsortby = 3 And vardate = "" And vardateto = "" And varNH = "" And
varID = "" And varTrade = "" Then
DoCmd.OpenReport stDocNameWRA3FM, acViewNormal
'GoToSkipOver
End If
If varsortby = 3 And vardate = "" And vardateto = "" And varFM = "" And
varID = "" And varTrade = "" Then
DoCmd.OpenReport stDocNameWRA3NH, acViewNormal
'GoToSkipOver
End If
If varsortby = 3 And vardate = "" And vardateto = "" And varFM = "" And
varID = "" And varNH = "" Then
DoCmd.OpenReport stDocNameWRA3Trade, acViewNormal
'GoToSkipOver
End If
'These will run reports sorted by NH.
If varsortby = 4 And varFM = "" And varID = "" And varNH = "" And varTrade =
"" Then
DoCmd.OpenReport stDocNameWRA4Date, acViewNormal
'GoToSkipOver
End If
If varsortby = 4 And vardate = "" And vardateto = "" And varNH = "" And
varID = "" And varTrade = "" Then
DoCmd.OpenReport stDocNameWRA4FM, acViewNormal
'GoToSkipOver
End If
If varsortby = 4 And vardate = "" And vardateto = "" And varFM = "" And
varNH = "" And varTrade = "" Then
DoCmd.OpenReport stDocNameWRA4ID, acViewNormal
'GoToSkipOver
End If
If varsortby = 4 And vardate = "" And vardateto = "" And varFM = "" And
varID = "" And varNH = "" Then
DoCmd.OpenReport stDocNameWRA4Trade, acViewNormal
'GoToSkipOver
End If
'These will run reports sorted by Trade.
If varsortby = 5 And varFM = "" And varID = "" And varNH = "" And varTrade =
"" Then
DoCmd.OpenReport stDocNameWRA5Date, acViewNormal
'GoToSkipOver
End If
If varsortby = 5 And vardate = "" And vardateto = "" And varNH = "" And
varID = "" And varTrade = "" Then
DoCmd.OpenReport stDocNameWRA5FM, acViewNormal
'GoToSkipOver
End If
If varsortby = 5 And vardate = "" And vardateto = "" And varFM = "" And
varNH = "" And varTrade = "" Then
DoCmd.OpenReport stDocNameWRA5ID, acViewNormal
'GoToSkipOver
End If
If varsortby = 5 And vardate = "" And vardateto = "" And varFM = "" And
varID = "" And varTrade = "" Then
DoCmd.OpenReport stDocNameWRA5NH, acViewNormal
'GoToSkipOver
End If
If Len(stDocName) > 0 Then
DoCmd.OpenReport stDocName, acViewPreview
Else
MsgBox "No Report Selected."
End If
DoCmd.OpenReport stDocName, acViewPreview
'Skipover: End
End Sub
I am trying to create a switchboard that gives you the option to select a
certain report. However, you can sort the report by 5 criteria and then
select another set of criteria you want the report to be off. Here is the
string:
Private Sub WRACmd_Click()
Dim stDocName As String
'Dim varhowsort As Variant
Dim varsortby As Variant
Dim vardate As Variant
Dim vardateto As Variant
Dim varFM As Variant
Dim varID As Variant
Dim varNH As Variant
Dim varTrade As Variant
'All reports for WRA Reports
stDocNameWRA1Date = "WRA1DateRpt"
stDocNameWRA1FM = "WRA1FMRpt"
stDocNameWRA1ID = "WRA1IDRpt"
stDocNameWRA1NH = "WRA1NHRpt"
stDocNameWRA1Trade = "WRA1TradeRpt"
stDocNameWRA2Date = "WRA2DateRpt"
stDocNameWRA2ID = "WRA2IDRpt"
stDocNameWRA2NH = "WRA2NHRpt"
stDocNameWRA2Trade = "WRA2TradeRpt"
stDocNameWRA3Date = "WRA3DateRpt"
stDocNameWRA3FM = "WRA3FMRpt"
stDocNameWRA3NH = "WRA3NHRpt"
stDocNameWRA3Trade = "WRA3TradeRpt"
stDocNameWRA4Date = "WRA4DateRpt"
stDocNameWRA4FM = "WRA4FMRpt"
stDocNameWRA4ID = "WRA4IDRpt"
stDocNameWRA4Trade = "WRA4TradeRpt"
stDocNameWRA5Date = "WRA5DateRpt"
stDocNameWRA5FM = "WRA5FMRpt"
stDocNameWRA5ID = "WRA4IDRpt"
stDocNameWRA5NH = "WRA5NHRpt"
varsortby = Me!FrameSortBy
vardate = Me!CboDateFrom
vardateto = Me!CboDateTo
varFM = Me!CboFM
varID = Me!CboID
varNH = Me!CboNH
varTrade = Me!CboTrade
'This is if all empty
Select Case varsortby
Case 1: stDocName = "WRAbyDate"
Case 2: stDocName = "WRAbyFM"
Case 3: stDocName = "WRAbyID"
Case 4: stDocName = "WRAbyNH"
Case 5: stDocName = "WRAbyTrade"
End Select
'These will run reports sorted by Date.
If varsortby = 1 And varFM = "" And varID = "" And varNH = "" And varTrade =
"" Then
DoCmd.OpenReport stDocNameWRA1Date, acViewNormal
'GoToSkipOver
End If
If varsortby = 1 And vardate = "" And vardateto = "" And varID = "" And
varNH = "" And varTrade = "" Then
DoCmd.OpenReport stDocNameWRA1FM, acViewNormal
'GoToSkipOver
End If
If varsortby = 1 And varedate = "" And vardateto = "" And varFM = "" And
varNH = "" And varTrade = "" Then
DoCmd.OpenReport stDocNameWRA1ID, acViewNormal
'GoToSkipOver
End If
If varsortby = 1 And vardate = "" And vardateto = "" And varFM = "" And
varID = "" And varTrade = "" Then
DoCmd.OpenReport stDocWRA1NH, acViewNormal
'GoToSkipOver
End If
If varsortby = 1 And vardate = "" And vardateto = "" And varFM = "" And
varID = "" And varNH = "" Then
DoCmd.OpenReport stDocNameWRA1Trade, acViewNormal
'GoToSkipOver
End If
'These will run reports sorted by FM.
If varsortby = 2 And varFM = "" And varID = "" And varNH = "" And varTrade =
"" Then
DoCmd.OpenReport stDocNameWRA2Date, acViewNormal
'GoToSkipOver
End If
If varsortby = 2 And vardate = "" And vardateto = "" And varFM = "" And
varNH = "" And varTrade = "" Then
DoCmd.OpenReport stDocNameWRA2ID, acViewNormal
'GoToSkipOver
End If
If varsortby = 2 And vardate = "" And vardateto = "" And varFM = "" And
varID = "" And varTrade = "" Then
DoCmd.OpenReport stDocNameWRA2NH, acViewNormal
'GoToSkipOver
End If
If varsortby = 2 And vardate = "" And vardateto = "" And varFM = "" And
varID = "" And varNH = "" Then
DoCmd.OpenReport stDocNameWRA2Trade, acViewNormal
'GoToSkipOver
End If
'These will run reports sorted by ID.
If varsortby = 3 And varFM = "" And varID = "" And varNH = "" And varTrade =
"" Then
DoCmd.OpenReport stDocNameWRA3Date, acViewNormal
'GoToSkipOver
End If
If varsortby = 3 And vardate = "" And vardateto = "" And varNH = "" And
varID = "" And varTrade = "" Then
DoCmd.OpenReport stDocNameWRA3FM, acViewNormal
'GoToSkipOver
End If
If varsortby = 3 And vardate = "" And vardateto = "" And varFM = "" And
varID = "" And varTrade = "" Then
DoCmd.OpenReport stDocNameWRA3NH, acViewNormal
'GoToSkipOver
End If
If varsortby = 3 And vardate = "" And vardateto = "" And varFM = "" And
varID = "" And varNH = "" Then
DoCmd.OpenReport stDocNameWRA3Trade, acViewNormal
'GoToSkipOver
End If
'These will run reports sorted by NH.
If varsortby = 4 And varFM = "" And varID = "" And varNH = "" And varTrade =
"" Then
DoCmd.OpenReport stDocNameWRA4Date, acViewNormal
'GoToSkipOver
End If
If varsortby = 4 And vardate = "" And vardateto = "" And varNH = "" And
varID = "" And varTrade = "" Then
DoCmd.OpenReport stDocNameWRA4FM, acViewNormal
'GoToSkipOver
End If
If varsortby = 4 And vardate = "" And vardateto = "" And varFM = "" And
varNH = "" And varTrade = "" Then
DoCmd.OpenReport stDocNameWRA4ID, acViewNormal
'GoToSkipOver
End If
If varsortby = 4 And vardate = "" And vardateto = "" And varFM = "" And
varID = "" And varNH = "" Then
DoCmd.OpenReport stDocNameWRA4Trade, acViewNormal
'GoToSkipOver
End If
'These will run reports sorted by Trade.
If varsortby = 5 And varFM = "" And varID = "" And varNH = "" And varTrade =
"" Then
DoCmd.OpenReport stDocNameWRA5Date, acViewNormal
'GoToSkipOver
End If
If varsortby = 5 And vardate = "" And vardateto = "" And varNH = "" And
varID = "" And varTrade = "" Then
DoCmd.OpenReport stDocNameWRA5FM, acViewNormal
'GoToSkipOver
End If
If varsortby = 5 And vardate = "" And vardateto = "" And varFM = "" And
varNH = "" And varTrade = "" Then
DoCmd.OpenReport stDocNameWRA5ID, acViewNormal
'GoToSkipOver
End If
If varsortby = 5 And vardate = "" And vardateto = "" And varFM = "" And
varID = "" And varTrade = "" Then
DoCmd.OpenReport stDocNameWRA5NH, acViewNormal
'GoToSkipOver
End If
If Len(stDocName) > 0 Then
DoCmd.OpenReport stDocName, acViewPreview
Else
MsgBox "No Report Selected."
End If
DoCmd.OpenReport stDocName, acViewPreview
'Skipover: End
End Sub