사용자가 날짜 범위, 시설 이름 (콤보 박스에서 제공) 및 배지를 입력 할 수 있도록 언 바운드 필드가있는 양식을 만들었습니다 Access에서 쿼리를 생성하는 번호입니다. 필드를 비워두면 모든 기능에 대해 선택한 날짜 범위 내에서 결과를 반환하거나 특정 기능이 선택된 경우 해당 기능 만 반환 할 수 있기를 원합니다. 나는 또한 결과를 사람의 배지 번호와 일치하는 것으로 제한 할 수 있기를 원합니다.입력 할 매개 변수 형식 값 또는 널을 사용하여 여러 필드가있는 쿼리 조건
그래서 나는 것 할 가능성 :
- 날짜 범위 = 사용자에 의해 정의 | 시설 - 선택하지 않은 경우 모두 | 배지 # = 선택하지 않은 경우 모두
- 날짜 범위 = 사용자가 정의 | 시설 - 선택하지 않은 경우 모두 | 배지 # = 사용자가 정의
- 날짜 범위 = 사용자가 정의 | 시설 - 사용자가 정의한 | 배지 # = 선택하지 않은 경우 모두
- 날짜 범위 = 사용자가 정의 | 시설 - 사용자가 정의한 | 배지 # = 사용자가 정의
원래 날짜 범위와 시설 이름으로 작성했는데 정상적으로 작동했습니다. 배지 #에 추가하려고하면 제대로 작동하지 않습니다. 그것이 내가 형태에서 얻을 할 네 가지 결과를 포함처럼 보이는, 나에게
WHERE (((Diversion.Transaction_Date) Between [Forms]![Parameters]![FromDate] And [Forms]![Parameters]![ToDate])
AND ((Diversion.Employee_Badge_Number)=[Forms]![Parameters]![BadgeNumber])
AND ((Diversion.Facility)=[Forms]![Parameters]![FacilitySelect]))
OR (((Diversion.Transaction_Date) Between [Forms]![Parameters]![FromDate] And [Forms]![Parameters]![ToDate])
AND ((Diversion.Facility)=[Forms]![Parameters]![FacilitySelect])
AND ((([Diversion].[Employee_Badge_Number]) Like [Forms]![Parameters]![BadgeNumber]) Is Null))
OR (((Diversion.Transaction_Date) Between [Forms]![Parameters]![FromDate] And [Forms]![Parameters]![ToDate])
AND ((Diversion.Employee_Badge_Number)=[Forms]![Parameters]![BadgeNumber])
AND ((([Diversion].[Facility]) Like [Forms]![Parameters]![FacilitySelect]) Is Null))
OR (((Diversion.Transaction_Date) Between [Forms]![Parameters]![FromDate] And [Forms]![Parameters]![ToDate])
AND ((([Diversion].[Employee_Badge_Number]) Like [Forms]![Parameters]![BadgeNumber]) Is Null)
AND ((([Diversion].[Facility]) Like [Forms]![Parameters]![FacilitySelect]) Is Null))
OR (((([Diversion].[Facility]) Like [Forms]![Parameters]![FacilitySelect]) Is Null));
하지만 제대로 작동되지 않습니다 섹션에 WHERE에 대한
내 SQL입니다. 예를 들어 시설 필드를 비워두고 배지 번호를 정의하면 여전히 모든 결과를 제공합니다. 시설을 정의하고 배지 번호를 정의하면 정확한 결과를 얻을 수 있습니다.
아이디어가 있으십니까?
와일드 카드가없는 LIKE 연산자는 쓸모가 없으므로 = 기호를 사용할 수도 있습니다. Is Null 기준은 사용 된 것처럼 말이되지 않습니다. 필자는 동적 인 매개 변수화 된 쿼리를 사용하지 않습니다. 나는 필터 기준 문자열을 구성하기 위해 VBA를 선호합니다. http://allenbrowne.com/ser-62.html – June7
감사 6 월 7 일. 당신과 메리가 제공 한 것은 내가하려는 일보다 훨씬 더 의미가있었습니다. – CasWalker