2017-03-13 26 views
0

私はSharePointとAccess(このユーザーフォームではない)のテーブルにリンクテーブルを持っています。私はVBAを使用して、このコンボボックスに複数の値を選択するにはどうすればよいリンクされたSharePointテーブルのコンボボックスで複数の値を選択

enter image description here

+0

コメントの追加画像リンクされたSharePointテーブルのコンボボックスを反映するタイトルを変更しました。 –

答えて

0

「複数の値を選択」とは何を意味するのかよく分かりません。

コンボボックスはフォームコントロールです。テーブルには、ドロップダウンリスト(ルックアップ設定)を持つフィールドがあります。

VBAはテーブルフィールドのドロップダウンリストを直接参照できません。コンボボックス付きのフォームでなければならない。

複数列のコンボボックスがあり、フォームの1つのレコードソースとして複数の列からデータを取得する場合は、列インデックスを参照してコンボボックスデータを取得します。

Me.combobox.Column(0)

あなたが複数の項目(行)を選択したい場合、あなたは複数値フィールドをしたいように聞こえるとコンボボックス/ドロップダウン複数選択:インデックスが0と同様で始まりますリスト。

0

ComboBoxで複数のレコードを選択することはできませんが、確かにListBoxを使用してこれを行うことができます。実験するためのサンプルコードをいくつか示します。

次のコードでは、For ... Nextループを使用して、lstOfficeリストボックスからすべての選択肢を集め、それらをコンマで区切ってテキスト文字列に結合します。テキスト文字列は、strOfficeという変数に格納されます。

For Each varItem In Me.lstOffice.ItemsSelected 
    strOffice = strOffice & ",'" & Me.lstOffice.ItemData(varItem) _ 
    & "'" 
Next varItem 

次の手順は、結果の文字列の長さを確認することです。長さがゼロの場合は、ユーザーが何も選択しなかったことを意味します。だから、コードの次のセクションでは、ユーザーの選択を表す適切な基準文字列を構築するIfステートメントの形式をとる...

If Len(strOffice) = 0 Then 
    strOffice = "Like '*'" 
Else 
    strOffice = Right(strOffice, Len(strOffice) - 1) 
    strOffice = "IN(" & strOffice & ")" 
End If 

コードはここから来ています。

http://www.fontstuff.com/access/acctut18.htm

あなたは、そのページの一番下のフォームこのすべてのソースコードのサンプルzip形式のコピーをダウンロードすることができます。

関連する問題