Access実践入門 TOPへ
 ■ マイクロソフトアクセス、その他の変更点
数値入力欄でDeleteキーを押された場合の処理
数値を入力するコントロールで、Deteteキーが押されると、データにはNull値が入ります。
そのまま登録されてしまうと、集計計算で、集計されません。
数値入力のコントロールでは、次のような処理が必要です。

「fo進物入力」のデザインを開いてください。
[進物金額]の[フォーカス喪失時]を見てください。

次のように書いています。

If IsNull([進物金額]) Then
 Me.進物金額 = 0
End If

ゼロを入れているだけです。
これは数値入力のコントロールでは、大事な処理です。


住所録入力から、進物データを参照
住所録の編集画面で、その人の進物データを参照する画面を作ってみました。

「fo住所録」のデザインを開いてください。
フォームフッターに[進物データ]というボタンが追加されています。
これは削除ボタンと同じで、新規登録時には必要ないので、このフォームの[開く時]のプロシージャが次のように変更されています。

Select Case inpmode
    Case 0
        Me.RecordSource = "qu住所録一覧表番号順"
        Me.削除.Visible = False
        Me.進物データ.Visible = False
    Case 1
        Me.RecordSource = "qu住所録編集"
        Me.削除.Visible = True
        Me.進物データ.Visible = True
        Me.住所録番号.Locked = True
End Select


[進物データ]の[クリック時]に次のようなプロシージャが書かれています。

DoCmd.OpenForm "fo進物参照", , , , acFormReadOnly
フォームが[読み取り専用]で開けられています。

この進物データ参照で「fo進物参照」と「qu進物参照」を追加しています。

作成手順は次の通りです。

 「qu進物一覧表」をコピー、張り付けで、「qu進物参照」を作る。
 「qu進物参照」のデザインを開く。
 上の、「ta住所録」を右ボタンで、テーブル削除
 下の[住所録番号]の抽出条件の欄で、右ボタンで、ビルドをクリック。
 開いたウィンドの左の列のフォームの中から、「fo住所録入力」を選択
 中央の列から[住所録番号]をダブルクリック
 OKボタンでウィンドを閉じる
 クエリーを閉じて、保存する

 「fo進物一覧表」をコピー、貼り付けで、「fo進物参照」を作る。
 デザイン画面で、[レコードソース]を上記「qu進物参照」に変更
 [標題]を進物参照に変更
 フォームヘッターと詳細から[日付]、[進物内容]、[金額]以外のコントロールを削除
 フォームフッターのボタンの「終了]を残して、全部削除。
 名前を[戻る]に変更(終了のままでも、いいです)
 [戻る]ボタンのプロパティの[クリック]時のプロシージャを開く。
 DoCmd.Close と書く
 今、開いている、Visual Basicの編集画面で、「fo進物一覧表」から引き継いでいる、他のプロシージャを、左下の横線の入ったボタンが2つ並んでいる右側のボタンをクリックして、一覧表示させて、Private Sub からEnd Sub までを削除して、整理します
[戻る]ボタンのプロシージャのみを残した状態にします。
次のようになります。



 フォームを閉じて、保存する


以上のように、フォームやクエリーは今あるものを、コピーしてデザインを変更した方が、最初から作るより、はるかに早く作ることができます。
慣れてしまえば、あっという間にできます。

Ver2.0の作成には、1時間もかかっていません。