2017-09-26 8 views
0

사용자가 목록 상자에서 직원을 선택한 다음 WHERE 문에서 선택한 직원 (트리머)을 포함하는 쿼리를 실행하는 명령 단추를 눌러야합니다. .목록 상자에서 선택을 사용하여 SQL SELECT 문의 조건 만들기

SQL WHERE 문에서 사용할 문자열 변수에 선택한 목록 항목을 추가하는 루프를 사용하여이 작업을 시도했습니다. 목록 선택을 반복 할 때마다 변수에 "좋아요"를 추가합니다. 내 문제는 내가 첫 번째 항목 앞에 "또는"을 갖고 싶지 않다는 것입니다. 첫 번째 항목은 "TrimmerName1과 비슷 함"을 반환하고 나머지 항목은 "TrimmerName2"등을 반환합니다.

아마도 완전히 다른 접근 방식이 더 좋을 수도 있습니다. 나는 잘 모르겠다. 나는 VBA에 꽤 새로운데, 이것은 여기에 두 번째로 올리는 것입니다. 어떤 도움을 주셔서 감사합니다! 이 루핑 완료 때

Dim varTrimmers As Variant 
Dim varTrimmer As String 
Dim VCriteria As String 

For Each varTrimmers In Me.lstTrimmers.ItemsSelected 
varTrimmer = Me.lstTrimmers.ItemData(varTrimmers) 


VCriteria = VCriteria & " or like " & "'" & varTrimmer & "'" 

Next varTrimmers 
+0

오른쪽. 그것은 잘 작동했습니다. – MaryJane

+0

다행입니다. 질문이 공개되지 않도록 답변을 수락하는 것을 잊지 마십시오. – braX

답변

0

는, 처음 4 개 문자를 제거 :

여기 내 코드입니다. 달릴에

Dim varTrimmers As Variant 
Dim varTrimmer As String 
Dim VCriteria As String 

For Each varTrimmers In Me.lstTrimmers.ItemsSelected 
    varTrimmer = Me.lstTrimmers.ItemData(varTrimmers) 
    VCriteria = VCriteria & " or like " & "'" & varTrimmer & "'" 
Next varTrimmers 
VCriteria = Mid$(VCriteria, 4, Len(VCriteria)) 
0
Dim varTrimmers As Variant 
Dim varTrimmer As String 
Dim VCriteria As String 

For Each varTrimmers In Me.lstTrimmers.ItemsSelected 
varTrimmer = Me.lstTrimmers.ItemData(varTrimmers) 


VCriteria = VCriteria & " or like " & "'" & varTrimmer & "'" 

Next varTrimmers 

VCriteria = Right([VCriteria], Len([VCriteria]) - 4)