あるデータ入力アプリを作っています。
親フォーム(Form0)で番号を決め、子フォーム(Form1,Form2,Form3,Form4) でデータ入力し、それぞれの子フォームを出るとき(Unload Me) に、変数にsaveしています。それを親フォーム(Form0)で登録を選択したとき、入力データをチェックしてDBに格納しています。
すでにDB格納済のデータの場合、親フォームでDBから変数に読み込み、子フォームのForm_Loadで展開しています。
そこで困っているのは、親と子のフォームを行き来するときにデータの表示で前のが残っていたり、消えてしまったりします。
Form_LoadとForm_Activateを通過するタイミングが、ちゃんと理解できていないためコードの記述位置が不適切なのだと思います。
Form_Load と Form_Activate の実行タイミングについて、お教えください。
No.2ベストアンサー
- 回答日時:
Form_Loadは、フォームがロードされたときです。
ロードされる条件は、
1.フォームがスタートアップに指定されているとき、アプリが実行された直後。
2.Show メソッドが呼ばれたとき
3.Loadメソッドが呼ばれたとき
4.フォームに貼り付けられたコントロールのプロパティが参照されたとき
5.フォームに貼り付けられたコントロールのメソッドが呼ばれたとき
です。
ただし、一度ロードされると、Unloadされるまで呼ばれません。
Form_Activateは、フォームがアクティブになったとき、つまり、キャプション(ウィンドウのタイトルバー)の色が変わったときです。
ありがとうございます。お礼が遅くなりました。
taka_tetsu さんのご回答を、見逃していて今日拝見しました。
でも、ご説明が明快で、はっきり分かりました。
いろいろやってみて、なんとなくしか分かりませんでしたので。
これで、すっきりプログラミングができます。
No.1
- 回答日時:
Debug.Printを埋め込んで実行してみましょう
Private Sub Form_Load()
Debug.Print Time, Me.Name, "Form_Load"
End Sub
Private Sub Form_Activate()
Debug.Print Time, Me.Name, "Form_Activate"
End Sub
この回答への補足
早速お答えいただき、ありがとうございます。
Debug を使いながら、大体の動きのタイミングは分かっています。
しかし、Form_Load と Form_Activate の定義として、どういう動きをするように設計されているのか知りたいと思うのですが。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
最近、いつ泣きましたか?
泣いてストレス発散! なんて言いますよね。 あなたは最近いつ、どんなシチュエーションで泣きましたか?
-
人生最悪の忘れ物
今までの人生での「最悪の忘れ物」を教えてください。 私の「最悪の忘れ物」は「財布」です。
-
CDの保有枚数を教えてください
ひとむかし前はCDを買ったり借りたりが主流でしたが、サブスクで簡単に音楽が聴ける今、CDを手に取ることも減ってきたかと思います。皆さんは2024年現在、何枚くらいCDをお持ちですか?
-
【大喜利】世界最古のコンビニについて知ってる事を教えてください【投稿~10/10(木)】
【お題】 ・世界最古のコンビニについて知ってる事を教えてください
-
架空の映画のネタバレレビュー
映画のCMを見ていると、やたら感動している人が興奮で感想を話していますよね。 思わずストーリーが気になってしまう架空の感動レビューを教えて下さい!
-
VBの「As String * 128」とは?
Visual Basic(VBA)
-
frxファイルの役目
Visual Basic(VBA)
-
Visual Basic 6.0 コンボボックスのChangeイベントが発生しません
Visual Basic(VBA)
-
-
4
DoEventsがやはり分からない
Visual Basic(VBA)
-
5
VB6でユーザー定義型がNothingかどうか調べるには?
Visual Basic(VBA)
-
6
CloseとDisposeの違い
Visual Basic(VBA)
-
7
フォームを開く時のイベント処理
Visual Basic(VBA)
-
8
Access サブフォームでの選択行の取得
その他(データベース)
-
9
VB6.0-整数と余りを求める
Visual Basic(VBA)
-
10
VB6とVB.NETでNullの扱いが違う?
Visual Basic(VBA)
-
11
VBプログラムの終了
Visual Basic(VBA)
-
12
VB6 開発環境のエディタに行番号を表示
Visual Basic(VBA)
-
13
MS Accessでフォームの「開く時」と「読込み時」のイベントの違い
Access(アクセス)
-
14
VBの画面サイズについて
Visual Basic(VBA)
-
15
VB.NET でのLaod/unLoad について
Visual Basic(VBA)
-
16
【VB6.0】 あるフォームから他のフォームへ値を受け渡したい
Visual Basic(VBA)
-
17
visual studio でインデントを自動的に揃えるショートカットキー
その他(プログラミング・Web制作)
-
18
タブキー押下時のイベントをひろいたい。
Visual Basic(VBA)
-
19
任意のフォームが表示されているかを知りたい
Visual Basic(VBA)
-
20
VB6で、長い時間かかる処理実行中の表示の工夫について
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・【お題】絵本のタイトル
- ・【大喜利】世界最古のコンビニについて知ってる事を教えてください【投稿~10/10(木)】
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ユーザーフォームを表示中にシ...
-
ExcelVBAのユーザーフォームの...
-
エクセルVBAのフォームを最...
-
クリックイベントなのに、2回ク...
-
モーダルフォームとモードレス...
-
Hideについて(.NET)
-
VBAでユーザーフォームを再表示...
-
Form_Load と Form_Activate の...
-
[VB6] フォームを閉じる方法に...
-
Excel VBA ユーザーフォーム 複...
-
タスクバーにフォーム名を表示...
-
Microsoft Formsの「個人情報や...
-
Accessで、一つのフォーム画面...
-
フォームのテキストボックスな...
-
テキストボックスやラベルのクリア
-
フォームウィンドウを最前面に...
-
アクセス2013 フォームが...
-
C#でボタンクリックをキャンセル
-
Access VBA コントロールの参照...
-
Ctrl+F4を押してもフォームが...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ユーザーフォームを表示中にシ...
-
ExcelVBAのユーザーフォームの...
-
エクセルVBAのフォームを最...
-
クリックイベントなのに、2回ク...
-
VBAでユーザーフォームを再表示...
-
ユーザーフォームのテキストボ...
-
コントロールの存在確認
-
モーダルフォームとモードレス...
-
Form_Load と Form_Activate の...
-
Hideについて(.NET)
-
Microsoft Formsの「個人情報や...
-
MSGBOXのフォント大きさ変更
-
VBA(エクセル)のユーザー...
-
ACCESSのフォーム、開くんです...
-
Access VBA コントロールの参照...
-
Excelにて、ユーザーフォームで...
-
フォームウィンドウを最前面に...
-
ユーザーフォーム上に現在日時...
-
エクセルのVBAでユーザーフォー...
-
'ユーザーフォーム右上隅の[×...
おすすめ情報