2016-08-19 3 views
0

하위 폼에 동시에 두 개의 필터를 적용하려고합니다.하위 폼의 여러 필터

DATES X와 Y 사이 및 BRANCH Z에서만 기록을보고 싶습니다.

잘 작동하지만 동시에 사용할 수는 없습니다. 나는 뭔가를

현재 코드를 알고 :

Private Sub Command39_Click() 
If IsNull(Me.txtFrom) Or IsNull(Me.txtTo) Then 
    MsgBox "Insert date!" 
Else 
    With Me.frmDailyRevenue.Form 
     .Filter = "[DateDbl] BETWEEN " & Me.txtFromDbl & " AND " & Me.txtToDbl & "" And [F5] = " & Me.cboBranch & """ 
     .FilterOn = True 
    End With 
    End If 
End Sub 

이 내가이 정말 새로 온 사람으로서 나는 웹에서 가져온 코드의 기본적 비트입니다.

모든 조언을 환영합니다.

답변

2

이 시도 :

.Filter = "[DateDbl] BETWEEN #" & Format(Me.txtFromDbl,"mm\/dd\/yyyy") & _ 
    "# AND #" & Format(Me.txtToDbl,"mm\/dd\/yyyy") & "# And [F5] = '" & Me.cboBranch & "'" 

는 그 Me.cboBranch 텍스트입니다 생각. 이 필드에 코드가 포함되어 있으면 작은 따옴표를 제거하십시오.

또한 확인하고 제어하는 ​​컨트롤이 다른 데이터 (Me.txtFrom 및 Me.txtFromDbl, Me.txtTo 및 Me.txtToDbl) 인 것을 확인했습니다.

+0

다음 행을 변경하고이 메시지를 반환했습니다 : "조건 experession의 데이터 형식 불일치." 및 Me.txtFromDbl = "AND"및 Me.txtToDbl & "및 [F5] = '"및 "[DateDbl] BETWEEN" .Filter 및 Me.cboAgDep & "'" 제가 # 돈't를 사용 내 날짜가 mm/dd/yyyy가 아닌 숫자 (double) 형식이기 때문에 다양한 이유가 있습니다. – Felps

+0

그래서 [DateDbl]에 숫자가 포함되어 있습니다. Me.txtFromDbl에 무엇이 있습니까? txtForm에 일반 텍스트 형식의 날짜가 있으면'BETWEEN "& CLng (CDate (Me.txtFrom)) &"AND ... "를 사용합니다. cboAgDep의 제어 소스 인 테이블 필드의 데이터 유형을 확인하십시오. 숫자 인 경우 작은 따옴표를 삭제하십시오. –

+0

또한'CLng (CDate (Me.txtFrom)) '대신'Format (Me.txtFrom, "#")' –

0

발견.

날짜 범위에 BETWEEN 및 AND를 사용하면 두 번째 AND와 충돌이 발생하여 필드 F5에 필터를 추가했습니다.

.Filter = "[DateDbl] >= " & Me.txtFromDbl & " AND [DateDbl] <= " & Me.txtToDbl & " AND [F5] = " & Me.cboBranch & ""

그냥 당신이있는 경우 세르게이가 지적한대로 #을 사용한다, 나중에이를 위해 올 수도 있습니다 사람들을 위해, 명확히하기 위해 다음과 같이

그래서 나는 = <>를 사용하도록 전환 = 및 날짜 필드, 내 날짜가 두 번 형식이므로 필요가 없습니다.

고마워요,

+0

을 사용할 수 있습니다. Datevalues는 해시 내에 포함되어야합니다 :'# 8/18/2016 #' –

관련 문제