顧客別の単価を設定するには?

こんにちは。伊川(@naonaoke)です。

今回は、顧客別に単価をACCESSで設定します。

これは、Yahooの知恵袋で質問されていた項目です。

少しだけ回答して、追加の答えを書くことなくベストアンサーになってしまいました。

問題提起

 

(株)IKAWAの阿久 世子男(アク セスオ)は、下記のような依頼を受けました。

・顧客別に単価設定をしたい。

・顧客テーブルと商品テーブルは作成済である。

どのように作成すればいいだろうか?

解決策

 

回答
sesuo2.jpg
・顧客別単価を設定するテーブルを作成する。・オートルックアップクエリと、カンタンなVBAを利用してフォームを作成する。

顧客別単価を設定するテーブルを作成する。

作成手順 その1 現在のテータベースを確認する


上の図のように、MT_顧客ID(主キーは顧客ID)、MT_商品ID(主キーは商品ID)があるとします。

ここから、顧客別単価を管理するテーブルを作成します。

つまり、1社について、商品10個分のIDが作成されます。

作成手順 その2 顧客別単価テーブルを作成する。


赤枠の中は、顧客IDと、商品IDを合わせました。

主キーと主キーを組合わせても、重複はしません。

これは、Excelで作成したほうが楽です。

10社に、10個の商品IDを組合わせるので、100個のデータができます。

主キーができましたので、当然、データ入力は、オートルックアップクエリを使います。

作成手順 その3 データ入力で、オートルックアップクエリを使えるようにする


上の図のように、MT_発注というテーブルを作成します。

テーブルの構造は、上の図のようにしていますが、顧客別単価IDを作成します。

顧客別単価IDでオートルックアップクエリを作成します。

オートルックアップクエリに関しては、上の記事を参照してください。



オートルックアップクエリを使う準備は完了しました。

作成手順 その4 検索フォームを作成する


上の図のような入力フォームを作成しました。

社名、商品名を、コンボボックスにしています。


上の図のようにコンボボックスを2列にしています。


プロパティシートで、「列数」を2、「列幅」2cm;2cmにします。

そして、顧客IDに反映をさせます。


社名を選択すると、商品IDが、自動的に入力されます。

商品名を選択すると、商品IDも自動的に入力されるようにしています。

作成手順 その5 顧客別単価IDを作成する

顧客別単価IDは、顧客IDと商品IDを合体させたものです。

つまり、このフォームでは、商品が選択された時点で、商品IDも、顧客IDもフォーム上に表示されます。


顧客別単価IDが表示されることで、顧客別単価がオートルックアップクエリによって、自動で表示されます。

後は、オマケですが、発注日も自動で入力されます。

発注数量が、入力されると、自動で、計算され、合計金額は表示されます。

ここがポイント

ここがポイント
Function8.png
データベースを作成するときは、オートルックアップクエリが使えるように設計することです。
また、いったん入力されたデータは、再度入力しないで、参照するがデータベースの原則です。

 

まとめ

今回のまとめ
sesuo6.jpg
オートルックアップクエリが使えると、後は、きわめて単純なVBAのコードを記載するだけです。

今回のサンプルファイルは、No40です。

サンプルファイルの購入
ブログが動画で紹介した内容のサンプルファイルを
購入できます。月額3,000円です。
練習用ファイルもダウンロードできます。
PayPal経由でお支払いでます。
ダウンロード回数に制限はありません。
スポンサーリンク

Twitterでフォローしよう

おすすめの記事