あるデータ入力アプリを作っています。
親フォーム(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で質問しましょう!
似たような質問が見つかりました
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- IT・エンジニアリング ドメイン駆動設計の値オブジェクトについて質問 1 2023/05/13 02:50
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript javascriptで入力フォームが空欄の時にアラートによるエラーを出すコードを書いています。 2 2023/06/13 17:58
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- Google Drive Google form を利用して 問い合わせフォームを作りたい 1 2022/04/25 14:15
- HTML・CSS ただいま勉強始めたての初心者です。フォームを縦並べにしたいです。 2 2022/11/20 17:18
このQ&Aを見た人はこんなQ&Aも見ています
-
「環境が人を育てる」って本当?環境によって人格や生き方は本当に変わるのか
環境が人生に与える影響は実際どれほどのものなのか、専門家の田宮由美さんに伺った。
-
VBの「As String * 128」とは?
Visual Basic(VBA)
-
frxファイルの役目
Visual Basic(VBA)
-
DoEventsがやはり分からない
Visual Basic(VBA)
-
-
4
CloseとDisposeの違い
Visual Basic(VBA)
-
5
VB6.0の「vbFromUnicode」はVB.NETではどれに相当しますか?
Visual Basic(VBA)
-
6
VBの画面サイズについて
Visual Basic(VBA)
-
7
【VB6.0】 あるフォームから他のフォームへ値を受け渡したい
Visual Basic(VBA)
-
8
フォームを開く時のイベント処理
Visual Basic(VBA)
-
9
MS Accessでフォームの「開く時」と「読込み時」のイベントの違い
Access(アクセス)
-
10
VB6.0のIsNull関数に相当するもの
Visual Basic(VBA)
-
11
VS 2008(VB.NET)
Visual Basic(VBA)
-
12
VB6とVB.NETでNullの扱いが違う?
Visual Basic(VBA)
-
13
ウォッチ式の文字数制限について
Visual Basic(VBA)
-
14
Designer.vbは直接コードをいじってはだめ?
Visual Basic(VBA)
-
15
コマンドプロンプトの「%1」と「%~1」の違いがわからない
その他(プログラミング・Web制作)
-
16
VB6のプロジェクトロードエラーについて
Visual Basic(VBA)
-
17
タブキー押下時のイベントをひろいたい。
Visual Basic(VBA)
-
18
VB6.0-整数と余りを求める
Visual Basic(VBA)
-
19
VB6でユーザー定義型がNothingかどうか調べるには?
Visual Basic(VBA)
-
20
String"から型'Double'への変換は無効です。 とエラーが出ます。
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ExcelVBAのユーザーフォームの...
-
ユーザーフォームを表示中にシ...
-
エクセルVBAのフォームを最...
-
MSGBOXのフォント大きさ変更
-
クリックイベントなのに、2回ク...
-
ユーザーフォームのテキストボ...
-
Excelにて、ユーザーフォームで...
-
VBAのテキストフォームの折り返...
-
VBAで画像を表示する方法
-
フォームの二重起動の阻止
-
フォームのテキストボックスな...
-
VBA(エクセル)のユーザー...
-
EXCEL ユーザーフォームのタイ...
-
テキストボックス入力データの...
-
ACCESS SQL実行後、条件入力用...
-
C# フォームのShow()をオーバー...
-
複数モニタ使用時のフォームの...
-
ユーザーフォーム上に現在日時...
-
VBAでユーザーフォームを再表示...
-
フォームのアクティブと非アク...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ユーザーフォームを表示中にシ...
-
ExcelVBAのユーザーフォームの...
-
ユーザーフォームのテキストボ...
-
クリックイベントなのに、2回ク...
-
MSGBOXのフォント大きさ変更
-
VBAでユーザーフォームを再表示...
-
Hideについて(.NET)
-
Form_Load と Form_Activate の...
-
モーダルフォームとモードレス...
-
コントロールの存在確認
-
ユーザーフォーム上に現在日時...
-
【VBAユーザーフォームで閉じる...
-
エクセルVBAのフォームを最...
-
ACCESSのフォーム、開くんです...
-
Microsoft Formsの「個人情報や...
-
VBA(エクセル)のユーザー...
-
フォームウィンドウを最前面に...
-
ユーザーフォームのラベルに時...
-
'ユーザーフォーム右上隅の[×...
-
Excelにて、ユーザーフォームで...
おすすめ情報