So-net無料ブログ作成

アクセス小僧:コンボボックスで選択されている項目を変更 [コンピューター]

アクセスのフォームに設置したコンボボックス(項目数=2)で選択されている

Combobox2.jpg

項目を反転するマクロを紹介します。各項目のListIndexは0, 1なので、1, 0にすることを考えます。
2つのListIndex値の和から、現在選択されている項目のListIndex値を引くことで、ListIndex値を反転できます。

現在選択されている項目現在のListIndex値 ListIndex値の反転
1番目の項目0(0 + 1) - 0 = 1
2番目の項目1(0 + 1) - 1 = 0


MicrosoftのListIndexの説明を読むと、「値の取得および設定が可能」とあります。

ComboBox.ListIndex プロパティ (Access)
https://msdn.microsoft.com/ja-jp/vba/access-vba/articles/combobox-listindex-property-access

そこで、コンボボックスの選択されている項目を反転するには、次のVBAコードで実現できると思っていました。

[コンボボックス名].ListIndex = 1 - [コンボボックス名].ListIndex

ですが、上記コードを実行すると、エラーになります。
ネットで検索してみると、コンボボックスの場合、ListIndexを設定するのではなく、Valueを設定するようです。

[コンボボックス名].Value = [コンボボックス名].ItemData(1 - [コンボボックス名].ListIndex)

上記コードを実行すると、うまくいきました。

以上。
ヤバイぜ!(9)  コメント(2) 
共通テーマ:パソコン・インターネット

ヤバイぜ! 9

コメント 2

cheese999

誤:
MicrosoftのListIndexの説明を読むと、「値の取得および設定が可能」とります。
正:
MicrosoftのListIndexの説明を読むと、「値の取得および設定が可能」とあります。
by cheese999 (2017-12-17 08:02) 

cheese999

ヤバイぜ! ありがとうございます[__猫]
by cheese999 (2017-12-17 08:03) 

コメントを書く

お名前:[必須]
URL:
コメント:
画像認証:
下の画像に表示されている文字(英大文字の「オー」、英小文字の「ユー」、アラビア数字の「ハチ」、アラビア数字の「イチ」、アラビア数字の「ニ」)を入力してください。

Facebook コメント