2016-07-11 1 views
0

현재 MS-Access 2010 프로젝트에서 작업하고 있으며 몇 시간 동안 문제로 고민하고 있습니다. SELECT/PIVOT 문에 필터를 적용하고 싶습니다. 해당 쿼리의 결과는 ListBox에 표시됩니다.쿼리에서 Combobox 필터가 작동하지 않는 동안 양식에서 만

문제는 Combobox가 Null로 설정된 경우 결과가 표시되지 않는다는 것입니다. 하지만 콤보 박스에서 특정 값을 선택하면 완벽하게 작동합니다.

  • Cbbox 필터는 매개 변수 절은 다음과 같습니다
  • 내 쿼리로 선언 : 나는 매개 변수의 값을 수동으로 입력하는 동안
WHERE (Jobs.fk_group=[Formulaires]![frm_MAIN]![lst_filterGroup] AND (fk_otherCritera='XXX')) 
    OR ((([Formulaires]![frm_MAIN]![lst_filterGroup]) Is Null) AND (fk_otherCritera='XXX')) 
  • 쿼리 작동 (= 빈 문자열을 입력하면 모든 레코드가 표시됩니다 = 내가 원하는 것)
  • Idk it is importa nt뿐만 아니라 다른 Cbbox에 따라 동적으로 해당 recordsource (= 2 개의 다른 쿼리를 실행)를 사용하는 listview
  • MyListview.Requery 호출과 IsNull (myCbboxReference)이 반환되기 바로 전에 VBA 코드로 매개 변수 값을 검사했습니다. 사실이고 다른 기준도 괜찮습니다.

내가 뭘 잘못했는지의 단서가 없다, 나는

감사합니다 :-(LR 도움이 필요

답변

0
내가 메인 테이블의 모든 레코드를 표시하는 콤보 상자에서 특수 값을 사용하는 것이 좋습니다

빈 콤보 상자가 Null이 아닌 ""이 아니기 때문에 아마도 쿼리가 작동하지 않습니다. 컨트롤/매개 변수에 대한 참조를 기반으로하는 쿼리에주의해야합니다. 액세스에 버그가 있습니다. : t에서 데이터에 필터 적용 그는 그러한 종류의 참조가있는 쿼리를 기반으로 Requery 중 컨트롤/매개 변수에서 새 값을 읽지 않습니다. 적어도 데이터 시트 모드의 하위 폼에는 나타납니다. 이 버그에 대한 대안 - 참조 대신 함수 사용.

+0

Nz (CbboxRef) = "대신 Null을 넣어 주셔서 감사합니다. :) 또한"참조 대신 함수 사용 "으로 무엇을 의미합니까? 컨트롤에 액세스하기 위해 getter 함수를 모듈에 두는 것을 의미합니까? 나는 다만 이해하고 싶다 – LostReality

+0

그렇습니다, 당신은 기능에 관하여 맞다. –

관련 문제