我正在研究一個報告,該報告將通過表單允許多個過濾器和排序。我希望報告的標題能夠反映出篩選器&的選擇。根據多個條件在Access報告中插入標題
該報告可以通過3個字段進行過濾:產品類型,收到的交付成果(是/否)和項目經理。
它可以通過排序:合同號,產品類型,承包商,開始日期,完結之日&日期產品獲得
我已經得到了一些元素的工作(那些DeliverablesReceived已選定與不排序),但與其他問題一起遇到問題。
Public Function InsertTitle(strReportName As String) As String
Dim strProduct As String
If strReportName = "rptMasterDeliverables" Then
If strField = "" Then
InsertTitle = "All Deliverables Sorted by Project Manager"
ElseIf Forms!fdlgMasterDeliverables!cboDeliverableReceived Like "No" Then
InsertTitle = "Outstanding Deliverables Sorted by " & Left(strField, InStr(1, strField, ",") - 1) & ""
ElseIf Forms!fdlgMasterDeliverables!cboDeliverableReceived Like "Yes" Then
InsertTitle = "Received Deliverables Sorted by " & Left(strField, InStr(1, strField, ",") - 1) & ""
ElseIf InStr(1, strField, ",") = 0 Then
InsertTitle = "All Deliverables Sorted by " & strField & ""
以上所有的工作很好,我遇到的問題與打開報表以下
ElseIf Forms!fdlgMasterDeliverables!cboDeliverableReceived Like "Yes" And Left(strField, 1) = "," Then
InsertTitle = "Received Deliverables sorted by Project Manager"
ElseIf Left(strField, 1) = "," And Forms!fdlgMasterDeliverables!cboDeliverableReceived Like "No" Then 'cboReceived
InsertTitle = "Outstanding Deliverables sorted by Project Manager"
ElseIf InStr(1, strProduct, ",") = 0 And Forms!fdlgMasterDeliverables!cboDeliverableReceived Like "No" Then
InsertTitle = "" & Mid([strProduct], 2, Len([strProduct])) & " Deliverables"
ElseIf Left(strField, 1) = "*" And InStr(1, strField, ",") = 0 Then
InsertTitle = "All " & Mid([strField], 2, Len([strField])) & " Deliverables sorted by " & strField & ""
ElseIf Left(strField, 2) = "* " And Forms!fdlgMasterDeliverables!cboDeliverableReceived Like "Yes" Then
InsertTitle = "Received " & Mid([strField], 3, Len([strField])) & " Deliverables sorted by Project Manager"
的代碼是
Private Sub Report_Open(Cancel As Integer)
Dim strProducts As String
strField = ""
If CurrentProject.AllForms("fdlgMasterDeliverables").IsLoaded Then
If Not IsNull(Forms!fdlgMasterDeliverables!cboSort) Then
Me.Report.GroupLevel(0).ControlSource = Forms!fdlgMasterDeliverables!cboSort.Column(0)
strField = Forms!fdlgMasterDeliverables!cboSort.Column(1)
If Not IsNull(Forms!fdlgMasterDeliverables!cboDeliverableReceived) Then
strField = strField & "," & Forms!fdlgMasterDeliverables!cboDeliverableReceived.Column(1)
End If
ElseIf Not IsNull(Forms!fdlgMasterDeliverables!cboDeliverableReceived) Then
strField = "," & Forms!fdlgMasterDeliverables!cboDeliverableReceived.Column(1)
End If
If Not IsNull(Forms!fdlgMasterDeliverables!cboProductType) Then
strProduct = Forms!fdlgMasterDeliverables!cboProductType.Column(1)
End If
目前可以正常工作的部分返回「優秀/收到/所有可交付成果按[選定的排序]排序「,如果沒有選擇過濾器或排序,則會正確返回」按項目經理排序的所有可交付成果「
我正試圖讓標題返回與過濾器(s)確定。例如,如果我選擇產品類型=「文檔」&產品經理=「勞拉」我希望標題讀取類似於「勞拉提供的所有文檔」的內容。如果我添加收件人=「否」,我希望它讀取「優秀的文檔交付勞拉」
如果我選擇接收=‘是’&產品類型=‘數據’,然後選擇通過合同號進行排序,我想的標題改爲‘按合同號’
接收到的數據交付如果沒有選擇排序順序,我希望標題默認爲「....按項目經理排序」
我已經考慮轉到案例狀態但不知道從哪裏開始。任何洞察什麼是錯誤的將不勝感激
我應該注意到該報告表現出色,所有的過濾器都能像排序一樣工作......它只是插入讓我瘋狂的標題 – pja