データ登録フォーム 1画面版 その2 初期化処理 [Form登録一画面版]
その1の続きです。
コーディングを順に説明していきます。
まずは、画面が開いた時の、初期化処理から。
Form_Open(開くとき)に、初期化の処理を書きます。
Private Sub Form_Open(Cancel As Integer)
'フォームオープン
'初期化処理
DoCmd.Maximize
Call subINIT
Call subCLR
End Sub
別に準備した初期化処理のサブプロシジャを呼んでいます。
データ一覧周りの準備処理と、今回は入力機能があるので、その初期化処理と、2つに分けて準備しています。
Private Sub subINIT()
'画面初期化
Me.txtCOMCDF = Null
Me.txtCOMCDT = Null
Call subSQL
End Sub
上記が、絞り込み機能の初期化で、右上の絞り込み用コンボボックスをクリアして、一覧のSql文を作る処理を呼んでいます。SQL文を作るsubSQLの処理は、一覧画面と同じ内容なので、ここでは割愛します。
Private Sub subCLR()
'入力クリア
Me.txtCOMCD = Null
Me.txtCOMMEI = Null
Me.txtBUNCD = Null
Me.txtGENTANKA = Null
Me.txtBAITANKA = Null
Me.txtMODE = "新規"
Me.txtCOMCD.Enabled = True
Me.txtCOMCD.SetFocus
End Sub
こっちは入力用コントロールの初期化処理です。一覧の上に並んでいる入力用のコントロールをクリアします。
後半部分は、この画面での仕掛けに関する内容です。
画面左端に、現在の入力が新規データの入力か、もしくは、すでに登録されているデータを修正しているのかを表示します。クリア処理にあわせてこれを「新規」の状態にします(編集時は「変更」に表示を切り替えます)。
これが、
Me.txtMODE = "新規"
です。
Me.txtCOMCD.Enabled = True
は、「変更」のデータ入力作業を行う時は、だいたいの場合、キー項目は変更できないように制御をかけます。(キー項目の値も変更できなくはないのですが、そこからつながっていくデータすべてをあわせて変更する必要があり、大抵の場合、それはすごく大変なので、できないという事にしておきます。)
クリアで「新規」に戻すので、EnabledもTrueに戻します。
最後にSetFocusで、入力を開始するコントロールにフォーカスを移しておきます。
初期化処理はこんなもんで。
コメント 0