2014-04-28 1 views
1

양식의 두 날짜 (예 : >=Forms!frmReport!StartDate AND <=Forms!frmReport!EndDate)를 기반으로 레코드를 반환하는 select 쿼리가 있습니다. 사용자가 StartDateEndDate 모두에 같은 날짜를 입력 할 때마다 기준과 일치하는 테이블에 데이터가 있다고하더라도 레코드가 반환되지 않습니다. 쿼리가 정보를 반환하지 않는 이유는 누구나 말할 수 있습니까?양식에서 날짜가 포함 된 쿼리를 실행하는 방법은 무엇입니까?

+0

해당 레코드에 시간이 포함되어 있으면 조건이 기존 레코드를 반환하지 않는다고 생각할 수 있습니다. 오늘 날짜 기준은 <= 41757 AND> = 41757 일 수 있으며 기록에는 41757.63875가 포함될 수 있습니다. 같은 날이지만 기준을 벗어났습니다. – geoB

+0

데이터를 캡처 할 때 필드의 기본값은'= Now()'로 설정되어 필드에 시간이 포함됩니다. 지금은 테이블의 관련 필드에서 시간을 제거하면 정보가 나타납니다. 그것은 내가 날짜와 시간을 따로 잡아야한다는 것을 의미합니까? – Kefash

+0

시간 관련 있습니까? 그렇다면 우리는 기준을 달리 다르게 만들어야 할 것입니다. 그렇지 않은 경우 아래 Yawar의 설명을 참조하십시오. – geoB

답변

1

필드가 비교 rs("Date")입니다되는 경우, 쿼리 빌더

Int(rs("Date")) >=Forms!frmReport!StartDate AND Int(rs("Date")) <=Forms!frmReport!EndDate 

을하려고 이런 일에 날짜 확인 필드를 수정 :

enter image description here

이의 이름으로 YourDateField 교체 당신의 분야.

그리고 시간이 관련된 경우, 쿼리 빌더에서 필드 표현을 제거하고 대신 레코드의 필드를 비교 해보세요 : 종료 날짜가 시작 날짜와 같은 경우

>=Forms!frmReport!StartDate AND <= iif(Forms!frmReport!EndDate = Forms!frmReport!StartDate, dateadd("d",1,Forms!frmReport!EndDate), Forms!frmReport!EndDate) 

이 표현은 말한다 하루를 추가하십시오. 그렇지 않으면 종료일을 사용하십시오.

+0

쿼리 빌더에서이 작업을 수행하지 못했습니다. 나는 그것을 틀린 장소에두고 있나? – Kefash

+0

위의 쿼리 빌더 편집을 참조하십시오. – geoB

+0

쿼리가 올바르게 작동합니다. 날짜 만 반환하고 첨부 된 시간을 버립니다. 하지만 나는 손님이야. 내가 자기 분야에서 시간을 저장해야 할거야. – Kefash

1

캐스트 쿼리에 단지 날짜 값으로 폼 값 :

>= cdate(Forms![frmReport]![StartDate]) and <= cdate(Forms![frmReport]![EndDate]) 

대신 =now()의, 날짜 만 캡처 =date()로 필드 기본값을 설정합니다.

+0

cdate 귀하의 제안에 대한 감사하지만 어떤 결과를 반환하지 않았다. 심지어 기본값을'Date()'로 변경 한 후에도 기존 데이터에는 이미 시간이 첨부되어 있습니다. – Kefash