2017-11-27 6 views
1

안녕하세요,ListBox의 루프 결과 비교

저는 Access 데이터베이스를 유지 관리하고 있으며 양식에 다중 선택 및 다중 열 목록 상자가 있습니다. 목록 상자를 쿼리하여 모든 사용자 선택 행을 기반으로 세 번째 열 (텍스트 포함)의 값을 가져옵니다. 다음은 코드입니다.

Dim varItem As Variant 

For Each varItem In Me!Lst_CPList.ItemsSelected 
Debug.Print Lst_CPList.Column(2, varItem) 
Next varItem 

나는 올바른 결과를 얻고 있습니다. 내가해야 할 것은 :

1 - 위의 코드에서 결과를 비교 (목록 상자에서 선택한 행만큼 결과가있을 것입니다)

2 - 만드는 결과가 모두 동일한 지 확인하십시오. 그렇지 않은 경우 하위를 종료하고 사용자가 목록 상자의 세 번째 열에있는 동일한 값을 사용하여 선택하라는 메시지를 표시합니다.

여러분의 도움을 받아 주셔서 감사합니다.

답변

1

하나의 차이가 오류를 유발하는 데 충분하다면 이는 매우 간단합니다.

Dim varItem As Variant 
Dim strValue As String 
Dim strFirst As String 

strFirst = "" 
For Each varItem In Me!Lst_CPList.ItemsSelected 
    strValue = Nz(Lst_CPList.Column(2, varItem), "") 
    Debug.Print strValue 

    ' First item? Then store for comparison 
    If strFirst = "" Then 
     strFirst = strValue 
    ' Not first item: compare with first one 
    Else 
     If strValue <> strFirst Then 
      MsgBox "Wrong pick!" 
      Exit Sub 
     End If 
    End If 

Next varItem 
+0

감사합니다. Andre, 매우 도움이됩니다. 나는이 일을 온라인으로하기 위해 어떤 종류의 가이드를 찾을 수 없었기 때문에 당신은 매우 도움이되었습니다. 솔루션은 잘 작동했습니다. – OneLineAtTheTime