2016-07-02 1 views
2

VBA를 처음 사용했지만 여러 필드가 포함 된 분할 양식의 검색 창을 만들고 싶었습니다. 매크로로 시작한 다음 VBA로 변환하여 결국 코드에 오류가 발생할 수 있습니다.검색 상자의 메시지 상자에 결과가 표시되지 않는 Access 2010

어쨌든, 나는 적용 필터 명령을 사용하여, 나는 결과가없는 경우 팝업 메시지 상자를 싶지만,이 코드는 작동하지 않습니다

Private Sub cmdSearch_Click() 
     On Error GoTo cmdSearch_Click_Err 
     DoCmd.ApplyFilter "", "[IDTag] Like 
    ""*"" & [Forms]![Main Menu]![txtSearch] & 
    ""*"" Or [Title] Like ""*"" 
    & [Forms]![Main Menu]![txtSearch] & ""*""","" 

cmdSearch_Click_Exit: 
Exit Sub 

cmdSearch_Click_Err: 
MsgBox Error$ 
Resume cmdSearch_Click_Exit 

End Sub 
+0

가능한 [docmd.applyfilter에 대한 결과 처리 없음] (http://stackoverflow.com/questions/1730293/handling-no-results-for-docmd-applyfilter) –

답변

2

당신은 구문으로 말할 수 귀하의 질문에 당신의 문자열 건설이 작동하지 않습니다 색칠. 작은 따옴표 '을 사용하는 것이 훨씬 쉽습니다. 그리고 몇몇 변수들.

Private Sub cmdSearch_Click() 

    On Error GoTo cmdSearch_Click_Err 
    Dim sSearch As String, sFilter As String 

    sSearch = "'*" & [Forms]![Main Menu]![txtSearch] & "*'" 
    sFilter = "[IDTag] Like " & sSearch & " Or [Title] Like " & sSearch 
    Debug.Print sFilter ' Use Ctrl+G to see Debug output 

    DoCmd.ApplyFilter "", sFilter 

결과가없는 경우 MsgBox를 표시하려면 링크 된 사본을 참조하십시오.

+0

감사합니다. Andre! 완벽하게 작동합니다. 빈 양식으로 보내지 않도록 메시지 상자 다음에 모든 레코드 cmd를 추가했습니다! –