次の方法で共有

コンボボックスのListIndex値を変更すると更新後イベントが複数回実行されてしまう。

Anonymous
2012-12-06T08:37:50+00:00

お世話になっております。

以前投稿させていただきました、下記質問からの派生の内容です。

「フォームのコンボボックスの更新後イベントにおいてListIndex値が変更されてしまう。」

上記の問題について検証を行っておりましたところ、次の様なエラーが発生いたしました。

実行時エラー '7777': ListIndex プロパティの使い方が正しくありません。」

更新後イベントが複数回走っているように見えるのですが、複数回走ってしまう理由と

エラーとなる原因がわかりませんのでご教示いただけないでしょうか。

■事象内容

 ボタンのクリックイベントでコンボボックスのListIndexを変更した所、ListIndexの代入処理が2回実行され2回目でエラーとなる。

■ボタンのクリックイベント内容

 Private Sub コマンド1_Click()

 Forms![フォーム1].SetFocus

 Forms![フォーム1]![コンボ0].SetFocus

 Forms![フォーム1]![コンボ0].ListIndex = CVar("4")

 End Sub

■コンボ0の更新後イベント内容

Private Sub コンボ0_AfterUpdate()

 Me.Refresh

End Sub

Me.Refreshを止めてみてみると、更新後イベントが2回走っている上

SetFocusを飛ばしてListIndexの代入処理が再実行されている?

Microsoft 365 と Office | アクセス | 家庭向け | Windows

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

質問作成者が受け入れた回答

Anonymous
2012-12-06T13:40:32+00:00

こんばんは、MukkuMukuです。

最新のHelpで確認します。

ComboBox.ListIndex Property (Access)

ListIndex プロパティは、Long で Read-Only です。

マクロ や コマンドアクション によって仕様にはない イベント の繰り返しが行われるなどいう

事象は存在します。ただ、その条件が複雑であること、回避方法があるなどの理由により修

正がされないと予想しています。本件事象には関連しないかもしれません。

この回答は役に立ちましたか?

1 人がこの回答が役に立ったと思いました。
0 件のコメント コメントはありません

1 件の追加の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2012-12-07T02:11:02+00:00

    MukkuMukuさん

    いつもお世話になっております。

    最新のヘルプのご案内ありがとうございました。

    今回、別件にてご質問させていただいた事象の回避策としてListIndexを制御してみた所、

    予想外にイベントが発生した為ご質問させていただきました。

    本来のプログラムではこのような処理は行っていないので、今のところ問題はないのですが、今後ListIndexを用いる場合は注意が必要そうですね。

    ご回答ありがとうございました。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません