2017-11-27 6 views
1

午後、ListBoxでループの結果を比較する

私はAccessデータベースを管理しており、フォームに複数選択と複数列のリストボックスがあります。私はすべてのユーザーが選択した行に基づいて(テキストを含む)3列目の値を取得するためにリストボックスを照会しています。コードは次のとおりです。

Dim varItem As Variant 

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

私は正しい結果を得ていることがわかります。私は何をする必要があることです。

1 - 上記のコードから結果を比較

2(リストボックスで選択された行と同じくらい多くの結果があるだろう) - 結果がすべて同じであることを確認してください。そうでない場合、私はサブを終了し、リストボックスの3番目の列に等しい値で選択を促します。

私はこれが十分に明確であることを願っています。

答えて

1

エラーをトリガするのに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

関連する問題