データ登録フォーム 1画面版 その3 既存データを呼び出して変更する [Form登録一画面版]
その1、その2の続きです。
画面真ん中に表示されているのが、すでに登録されているデータの一覧です。ここからデータを選択して呼び出し、内容を編集して再登録する処理を作ります。
・処理の流れ
データ一覧の「編集」ボタンをクリックすると、そのボタンのレコードの内容が、上部のテキストボックスにセットされて、「新規」モードから「変更」モードへ切り替わります。
このとき、Keyである「商品コード」は、変更できないようにロックをかけます。
「登録」ボタンのクリックで、テーブルへUPDATEする処理を行います。
では、順に処理を説明します。
・データ一覧の「編集」ボタンクリック
サブフォームの「編集」ボタンのイベントにコードを書きます。
Private Sub cmdUPD_Click()
'編集ボタン クリック
Me.Parent.txtCOMCD = Me.COMCD
Me.Parent.txtCOMMEI = Me.COMMEI
Me.Parent.txtBUNCD = Me.BUNCD
Me.Parent.txtGENTANKA = Me.GENTANKA
Me.Parent.txtBAITANKA = Me.BAITANKA
Me.Parent.txtMODE = "変更"
Me.Parent.txtCOMCD.Enabled = False
End Sub
フォームに並べてる連結テキストボックスから値を取り出して、親フォームのテキストボックスに設定しています。
サブフォームのコードから、親フォームを見に行く時は、Parentが便利です。
Me.Parent.txtMODE = "変更"
で、左上に出してるモードの表示を変えます。
Me.Parent.txtCOMCD.Enabled = False
で、商品CDボックスを使用不可にしています。
EnabledをFalseにすると、コントロールにフォーカスが来なくなります。
Enabled=Falseにすることで、「商品CD」の部分は見た目も入力できないような感じに変化します。
あわせて、Locked=Trueに設定すると、見た目が元の状態のまま使用できなくなります。(フォーカスも来ません)
使えないことを使う人に主張したいので、ここはEnabledのみの設定で見た目を変化させます。
ちなみに、LockedのみTrueだと、フォーカスは移動できますが、入力ができない状態になります。
この処理が流れると、下図のようになります。
・登録ボタン処理
続いて「登録」ボタンのクリックで、テキストボックスに入力された内容を、テーブルへ反映させます。
・・・と、ここの部分は新規の場合とあわせて処理をしますので、また次回に・・・。
コメント 0