2

SharePoint フィールドにリンクされているフォームにコンボ ボックスがあり、コンボ ボックスは正しく入力されますが、VBA コードを追加してすべてのオプションを選択したり、すべてのオプションを選択解除したりするのは困難です。

標準のコンボ ボックスでは、次を使用できます。

cmbBox1.value = ""

これにより、フィールドがリセットされます。複数選択が有効になっているリスト ボックスでも同じことができますが、ルックアップのために複数選択されているコンボ ボックスでは、「このコントロールは読み取り専用であり、変更できません」というエラーが表示されます。

私はいくつかの検索を行いましたが、代わりにリストボックスを使用する以外に本当の答えがあるようには見えず、それはここでは解決策ではありません.

これらのフィールドのいずれかを使用して、VBA を使用してすべてのオプションを選択する方法を知っている人はいますか?

このタイプのフィールドを説明するリンクを次に示しますが、VBA を使用して操作する方法については説明していません - http://office.microsoft.com/en-us/access-help/use-a-list-that-stores-複数値-HA010031117.aspx .

アップデート:

説明しているフィールドのタイプについて混乱が生じているため、複数選択が可能なコンボ ボックス、複数のオプションが可能なリスト ボックス、およびオプションが追加されたコンボ ボックスの違いを示すスクリーン キャプチャを追加しました。

最初に私が説明していた分野:

マルチセレクトコンボボックス

2 番目のリスト ボックス:

複数値が有効なリストボックス

最後にコンボボックス:

すべて選択オプションのあるコンボボックス

これらの画像は、説明された問題を視覚化します。ご覧のとおり、選択または選択解除する必要があるチェックボックスが複数あります。通常、私はこのようなフィールドを作成しませんが、前述のように、Access が SharePoint からコンボボックスを解釈して複数選択を可能にする方法です。

4

2 に答える 2

3

たくさんの検索と試行錯誤の後、私はそれを理解しました。

すべてのチェック ボックスの選択を解除するには、

cmbBox1.Value = Array()

したがって、この情報を使用して、アイテムを選択するには、それらが配列に含まれている必要があると考えました。コンボ ボックス内のすべての項目で配列を作成し、コンボ ボックスを配列と等しく設定すると、すべての項目が選択されます。

基本的なループを使用して、配列の各要素を設定しました

Dim SelVals(), i
ReDim SelVals(0 to cmbBox1.ListCount - 1)
For i = 0 to cmbBox1.ListCount - 1
     SelVals(i) = cmbBox1.Column(1,i)
Next i
cmbBox1.Value = SelVals

明らかに、コンテンツ全体を使用するだけに制限されているわけではありません。任意の配列を割り当てることができ、それらが選択された値になります。

于 2013-05-27T09:51:14.713 に答える
0

http://msdn.microsoft.com/en-us/library/office/aa140084(v=office.10).aspx 私はこれがあなたが求めていることをカバーしていると信じています

于 2013-05-20T20:05:19.947 に答える