我有一個窗體有多個組合框,根據我的組合框中的值打開一個報告。這有效,但我被要求給生效日期字段提供一個選項,因此可以輸入日期範圍。在vba中的兩個日期之間的訪問2010年
我爲開始和結尾添加了兩個文本框(txtReqCreationStartDate
和txtReqCreationEndDate
)。
我試着在...和查詢之間進行操作,但後來我的組合框不起作用。
我從來沒有使用SQL,但發現這個在線,並在單擊按鈕上的應用過濾器的代碼中輸入它,但我得到的所有記錄。其他人試圖幫助,但我總是得到所有的記錄。
以下是On Click事件的所有代碼。
Private Sub cmdVacanciesWithNoRequisitionParameters_Click()
On Error GoTo cmdVacanciesWithNoRequisitionParameters_Click_Err
strSQL = "SELECT * FROM qryVacanciesWithNoRequisition WHERE " _
& "DateValue([Effective Date]) Between #" & Format([txtReqCreationStartDate], "yyyy-mm-dd") & "# And #" & Format([txtReqCreationEndDate], "yyyy-mm-dd") & "#;"
'Person Number
If Not IsNull(Me.cboPersonNumber) Then
strFilter = strFilter & " AND [Person Number] Like """ & Me.cboPersonNumber & """ "
End If
'Person Name
If Not IsNull(Me.cboPersonName) Then
strFilter = strFilter & " AND [Person Name] Like """ & Me.cboPersonName & """ "
End If
'Job Code
If Not IsNull(Me.cboJobCode) Then
strFilter = strFilter & " AND [Job Code] Like """ & Me.cboJobCode & """ "
End If
'Person Number
If Not IsNull(Me.cboBusinessUnit) Then
strFilter = strFilter & " AND [Business Unit] Like """ & Me.cboBusinessUnit & """ "
End If
'Department
If Not IsNull(Me.cboDepartment) Then
strFilter = strFilter & " AND [Department] Like """ & Me.cboDepartment & """ "
End If
'Supervisor
If Not IsNull(Me.cboSupervisor) Then
strFilter = strFilter & " AND [Supervisor] Like """ & Me.cboSupervisor & """ "
End If
'Job Title
If Not IsNull(Me.cboJobTitle) Then
strFilter = strFilter & " AND [Job Title] Like """ & Me.cboJobTitle & """ "
End If
'If the report is closed, open the report
If SysCmd(acSysCmdGetObjectState, acReport, "rptVacanciesWithNoRequisition") <> acObjStateOpen Then
DoCmd.OpenReport "rptVacanciesWithNoRequisition", acPreview, qryVacanciesWithNoRequisition
End If
'if report was open, use filter
With Reports![rptVacanciesWithNoRequisition]
.Filter = Mid(strFilter, 6)
.FilterOn = True
End With
cmdVacanciesWithNoRequisitionParameters_Click_Exit:
Exit Sub
cmdVacanciesWithNoRequisitionParameters_Click_Err:
MsgBox Error$
Resume cmdVacanciesWithNoRequisitionParameters_Click_Exit
End Sub
在此先感謝您的幫助。
*(你需要清理一下你的格式。並不是所有的'sub'都顯示爲「code」。)###這就是說,我建議你在完全生成它後''Debug.print''strFilter',這樣你就可以*看到*什麼完成的字符串包含。 ##另外,爲什麼你使用'Mid(strFilter,6)'? ##如果您「獲取所有記錄」,那麼您的過濾器一定有問題。繼續努力......你應該*基本上處於正確的軌道上。 –