1

これがなぜなのかは定かではありませんが、Click イベントでは、リストボックスで選択されたアイテムを取得する必要がありますが、ループが初期化されると、使用可能な選択アイテムがありません。

 Private Sub lstUPSCs_Click()
        On Error GoTo Err_lstAttribute_Change

                    Dim strSelect  As String
                    Dim sQuery As String
                    Dim sUPSC As String 
                    Dim itm As Variant


                    For Each itm In Me.lstUPSCs.ItemsSelected
                      strSelect = strSelect & "," & LTrim(RTrim(Mid(lstUPSCs.Column(0, itm), 1, 8)))

                    Next

END SUB

この問題を解決するための助けはありますか?

4

1 に答える 1

0

複数選択リスト ボックスの場合、次のコードは最初の列 (列 0) に値のリストを返す必要があります。通常、複数選択リストボックスにはクリック イベントを使用しません。

For Each itm In Me.lstUNSPSCs.ItemsSelected
  strSelect = strSelect & "," & Me.lstUNSPSCs.Column(0, itm)
Next

strSelect = Mid(strSelect,2)

複数選択のないリストボックスの場合、リストボックスのデフォルト値はバインドされた列の値です。上記のコードは機能しませんが、単純に次のように言えます。

Me.lstUNSPSCs

または

Me.lstUNSPSCs.Column(2)

number は、ゼロから始まる任意の有効な列番号です。

余談ですが、LTrim、RTrimの必要はありません-Trimは両方をカバーしています。

于 2012-08-23T22:48:58.400 に答える