SSブログ

データ登録フォーム 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で、入力を開始するコントロールにフォーカスを移しておきます。

 初期化処理はこんなもんで。


nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。
※URL(リンク)は記述できません。

トラックバック 0

トラックバックの受付は締め切りました

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。