Page 146 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 通常モードに戻る ┃ INDEX ┃ ≪前へ │ 次へ≫ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼新しく開いたフォームにセットされた値が表示されない yu-ji 02/12/17(火) 11:46 ┗Re:新しく開いたフォームにセットされた値が表示されない yu-ji 02/12/17(火) 12:26 ┗Re:新しく開いたフォームにセットされた値が表示されない yu-ji 02/12/18(水) 19:50 ─────────────────────────────────────── ■題名 : 新しく開いたフォームにセットされた値が表示されない ■名前 : yu-ji ■日付 : 02/12/17(火) 11:46 -------------------------------------------------------------------------
いつもお世話になってます。 また、基本的な質問で恐縮なんですが(^^; フォームAから、フォームBを開く時に、フォームBにあるコンボボックスに データをセットするように記述したのですが(以下のような感じ)、データ自体 は入っているようなのですが(Debug.Printで確認)、表示がされません。 FormのRepaintやDocmd.Repaint、Refreshも付けたりしてみたのですが 上手いこといきませんでした。 ****** フォームAのクリックイベント DoCmd.OpenForm "フォームB" Forms!フォームB!コンボボックス = Me!テキストボックス DoCmd.Close acForm, Me.Name ****** と、あと前から思っていたのですが、上記の例でいくと、フォームAから フォームBのコンボボックスの値を変更しても、フォームBの更新前処理イベント なんかは発生しませんよね? (フォーカスイベントなんかは実行されているのに) これを発生させるようにするのに、なにか方法があれば教えてください。 よろしくお願いします。 |
追記です。 環境は、Win98のAccess2000です。 不可能な場合。 一応、テキストボックスであれば、ちゃんとデータが入るので、 それを使って代案は考えてます。 更新イベントが実行されないのも、標準モジュールにしてそれを呼び出すとか ってことで対応しようと思ってます。 |
最初の説明では不十分で、すみませんでした(^^; 必ず再現するもんかと思ったら、特殊?な条件でしか再現しなかったです。 ってことで、一応とりあえず解決できました。 ただ、いまいち複雑すぎて説明が難しいのですが(^^; #いまだ混乱中。 とりあえず『たぶん』、以下のような感じだと再現するバグ?ではないかと思います。 #そして、以下のは最適化されたものではないと思われます(汗)。 #そして、まだ頭が”すっきり”した状態でないので、説明も不完全かも。 #あと別フォームじゃなくても、直接入力したデータ以外は、こうなる? ******** 設定: クエリAのフィールドBに、フォームCのコンボボックスDを条件に設定 フォームCのレコードソースに、クエリAを設定 再現手順: フォームEのクリックイベントで、フォームCを開きコンボボックスDに 値を入れる ↓ データ自体は入るが、表示されない。 回避方法: クエリAを使わずに、それにあたるSQLを、動的にフォームCのレコードソースに設定。 (フィールドBの条件は、コンボボックスDの値をもとに別コード内で変更) ********** あと、もう一つの更新イベントが実行されないのは、もうそんなもんだと思って 諦めて、標準モジュールで記述して、使いまわそうと思ってます。 以上、参考になれば。 #あんま、ならんかな(^^; |