#05 デフォルトでスポット顧客を自動入力する

このデータベースは、基本的には小規模の商店などが対象で、一人一人の顧客が繰り返し商品を購入する、そして顧客一人一人がマスタデータとして「顧客コード」を持っているということを前提にしています。しかし、スポット的に購入していく不特定多数の顧客ばかりというケースもあります。そこで、本データベースの顧客マスタには、あらかじめ「顧客コード=1」の"スポット顧客"というデータがデフォルトで登録されています。必ずしもパソコンレジの前提条件ということではありませんが、今回は常に不特定多数のスポット顧客が購入するということを前提に、デフォルトでスポット顧客を自動入力させるためのカスタマイズ手順を説明します。

その変更はいたって簡単です。スポット顧客は顧客コードが「1」と決まっていますので、その値をフォームの顧客コードのコンボボックスのデフォルト値、つまり「既定値」プロパティに設定するだけです。
  1. 「frm売上伝票入力」フォームのデザインビューを開きます。
  2. 「納品先コード」のコンボボックスを選択します。
  3. プロパティシートで「既定値」プロパティの欄に「1」と入力します。
  4. 「請求先コード」コンボボックスに対しても、同様のプロパティ設定を行います。
  5. 最後にフォームを保存します。

<変更前>
変更前のフォームビュー
<変更後>
変更後のフォームビュー

顧客コードがバーコードとして印刷された会員証のようなものを発行している場合でも、上記の設定変更は影響を与えません。あくまでも画面を開いたときに顧客コード欄に「1」が初期的に自動入力されるだけであって、「1」以外は入力できないということではありません。とりあえず「1」が入力されている状態であとからその顧客コードを変更入力すればよいだけです。


なお、不特定多数なので、あえてその顧客名を表示させる必要はないと思いますが、"スポット顧客"という文字を画面に表示させたい場合には、モジュールの変更が必要となります。上記のプロパティ変更は行わなず、「frm売上伝票入力」フォームの「cbfInitData」プロシージャにその処理を追加記述します。また「納品先コード」コンボボックスの更新後処理イベントプロシージャを呼び出して、顧客名などの代入処理を実行させます(次の太字の2行)。


   (一部抜粋)

  '削除結果を反映させるために再クエリ
  Me.Requery
  Me!frm売上伝票入力_sub.Requery

  '次の伝票の伝票番号を生成
  Me!伝票番号 = CreateSlipNumber("tbl売上", "伝票番号")

  'スポット顧客を初期設定
  Me!納品先コード = 1
  '納品先コードの更新後処理イベントプロシージャを呼び出し
  納品先コード_AfterUpdate

  DoCmd.Echo True

Exit_Here:
  On Error Resume Next
  '編集フラグを初期化
  pblnEditedFlg = False
  Exit Sub

顧客名などの代入処理を追加した状態
| Index | Prev | Next |

 

Copyright © T'sWare All rights reserved