2016-07-27 1 views
1

나는 cboOpeningType이라는 콤보 상자에서 sfrWorklistFilter라는 폼을 필터링합니다. 레코드 소스는 양식의 내장 된 쿼리에서 가져온 것입니다. 내가 콤보 상자에서 선택을하면 필터가 다음 코드로 잘 작동 : 어떤 선택이 만들어되지 않을 때 나는 모든 레코드를 반환해야하지만액세스 쿼리 매개 변수 필터링 양식

Forms![sfrWorklistFilter]![cboOpeningType] 

경우 나는 다음과 같은 코드를 사용합니다

Like Forms![sfrWorklistFilter]![cboOpeningType] & "*" 

그런 다음 필터는 정확히 일치하지 않지만 콤보 상자에 문자로 시작하는 모든 레코드를 제공합니다.

정확한 기록이 필요하거나 모든 기록을 선택하지 않은 경우.

제안 사항?

+0

혼란 검색하고 당신이 당신의 다른 필드/콤보 상자와 같은 일을 할 수 있습니까? 선택을하지 않으면 왜 콤보 상자에 문자가 선택됩니까? – dbmitch

+0

나는 지금 무슨 뜻인지 알 것 같아 - yiu는 고정 된 Filter 속성을 설정하려하지 않는다 - 올바른 cboOpeningType AfterUpdate 이벤트의 VBA 코드가 아닌가? – dbmitch

+0

@dbmitch 당신이 맞습니다 VBA에서 필터 속성을 설정하지 않았습니다. 콤보 상자 값을 사용하여 폼의 포함 된 쿼리 안에 SQL을 설정하려고했습니다. 세 개의 콤보 상자가 있으며 값에 따라 세 개의 필드를 필터링하려고합니다. 값을 입력하지 않으면 해당 필드의 모든 레코드를 반환하고 싶습니다. 콤보 상자의 rowsource는 하나의 문자 선택을 값 중 하나로 제공합니다. 그 편지가 그 편지로 시작하는 모든 레코드를 선택할 때. 콤보 상자에 아무 것도 없으면 결과가 전혀 없습니다. –

답변

1

편집 삭제 따옴표

이 작동합니다 -

Like IIf([Forms]![sfrWorklistFilter]![cboOpeningType]<>"",[Forms]![sfrWorklistFilter]![cboOpeningType],"*")