2016-08-02 3 views
1

필터가있는 양식이 있습니다.날짜 삭제 모호성

두 개의 텍스트 상자가 필터의 시작 및 끝 날짜로 사용됩니다. 그들은 형식 ​​Short Date

VBA 코드는 다음과 같다 있습니다

Dim fdate4 As Date 
Dim fdate5 As Date 


fdate4 = Format(txtStart, "yyyy/mm/dd", vbMonday, vbFirstJan1) 
fdate5 = Format(txtFinish, "yyyy/mm/dd", vbMonday, vbFirstJan1) 

I 1 간섭 단층 필터를 시도 - 31 년 12 월과 내가 보는 형태의 필터을 Debug.Print 그러나

[DutyDate] BETWEEN #01/10/2015# AND #31/12/2015# 

을 1 월의 날짜가 포함됩니다. 이 작업은 서식 자체 나 필터 문자열의 서식 지정과 관련이 있습니다.

나는 같은 결과를주는 다른 형식 dd/\mm/\yyyy과 함께 CDate을 사용해 보았습니다.

+2

필자는 'Dim fdate4 As String'을 사용해야합니다. 그렇지 않으면'Format() '이 효과가 없습니다. 날짜 변수에 형식이 없습니다. – Andre

+0

코드를 더 게시하십시오. 이 코드는 완전한 코드 일 수 없습니다. –

+1

@ 조지 : 답변에 누락 된 줄이 추가되었습니다. – Gustav

답변

3

만 주이며, "/"혼자 슬래시하지만 (지역화) 날짜 구분없는 형식의 마지막 매개 변수로이 같은 것을 사용해야합니다 : 조지에 대한

Dim fdate4 As String 
Dim fdate5 As String 

fdate4 = Format(txtStart, "yyyy\/mm\/dd") 
fdate5 = Format(txtFinish, "yyyy\/mm\/dd") 

누락 된 선이 :

Me.Filter = "[DutyDate] BETWEEN #" & fdate4 & "# AND #" & fdate5 & "#" 
Me.FilterOn = True