2016-05-30 10 views
0

私は6個のアイテムを持つリストボックスを持っています。リストボックスをドロップダウンするようにコーディングしました。私の質問は、選択したアイテムをリストボックスに入れる方法です。以下は、lostfocusイベントのコードです:選択したアイテムをリストボックスに表示

'---------------------------------------------------------------- 
' Save selection for update query 
'---------------------------------------------------------------- 

Dim frm As Form, ctl As Control 
Dim varItm As Variant 
Set frm = Forms!loginForm 
Set ctl = frm!areaLB 
For Each varItm In ctl.ItemsSelected 
areaGbl = ctl.ItemData(varItm) 
Next varItm 
'---------------------------------------------------------------- 
' CHeck selection to load station dropdown 
'---------------------------------------------------------------- 
If areaGbl = "Batting Cages" Then 
Me.stationLB.RowSource = "cageTbl" 
Else 
Me.stationLB.RowSource = "RangeBays" 
End If 
Me.areaDsp = areaHld 
Me.areaLB.Height = 500 
+0

注意が次のようにテーブル/クエリ値集合ソースがのクエリを変更する場合には。 Me.areaLB.Height = 500。選択したアイテムをそのリストボックスに表示します。 – jpl458

+0

代わりにコンボボックスを使用してみませんか? – LiamH

答えて

0

areaLBリストボックスコントロールのrowsourcetypeとは何ですか?

値リストの場合は、すべての項目を削除して、areaGbl変数から1つのレコード/値を追加するだけです。

For nIndex = 0 To areaLB.ListCount - 1 
    areaLB.RemoveItem nIndex 
Next nIndex 

areaLB.AddItem areaGBL

値集合タイプは、私が唯一つのエントリを収容するために、リストボックスのサイズを変更

areaLB.rowsource = "Select <fieldName> from <table name> where  
<fieldname> in '" & areaGBL & "'" 
+0

6つの異なるリストボックスがあり、値リストを持つものとクエリを持つものがあります。あなたの最初の例では、リストボックスをクリアした後に値リストを保存してリロードする必要があります。 2番目の例と似たようなことをしなければならないでしょうか?元のクエリを保存してリロードしてください。私の仮定が正しいかどうかを教えてください。 jpl458 – jpl458

+0

ええ、元に戻すかリセットするとき。値リストの場合、元の値リストが必要です。したがって、変数を宣言してリセットする前に値リストを取得すると、後でそれらを使用して元のlistを取得することができます。これは、値リストとクエリの両方に適用されます。値リストの場合、配列オブジェクトを使用して作業を簡単にすることができます。 –

+0

私はそれを試してみましょう。私はあなたのコードを理解していますが、これを行うにはvbaの方法があるはずです。助けてくれてありがとう。 – jpl458

関連する問題