アプリ版:「スタンプのみでお礼する」機能のリリースについて

お世話になります。Access2002のフォームのデータシートでの計算についてご教授願います。
計算させる上での構成としましては、
1.マスターテーブルが存在し、そこにデータを格納する
2.マスターテーブルに格納するデータは別個に品目テーブルを参照して固有のIDのみをインプットさせてたい。
すなわち、品目テーブルの値(ID値、品目名、単価)が存在し、マスターテーブルに品目テーブルのIDのみを格納し、データシート上では個数を入力させると、自動的に計算させたいです。
<マスターテーブル>は、ID、M_ID、数量という構成をとり、品目テーブルは、M_ID、品目名、単価という構成をとり、M_IDでリレーションをとっています。
データシート上は、マスターテーブルのM_IDでコンボボックスをつくり、マスターテーブルのM_IDのコンボボックスは品目テーブルの品目と単価をデータで持っています。
データシート上での計算のしかたについてよろしくお願いいたします。
不明点がありましたら、補足いたします。

A 回答 (1件)

当方はAccess2000ですけれども基本的な使い方は変わらないと思いますので、


微力ながらお力添え?させていただきます。

データシートに単価のテキストボックスと、数量のテキストボックスがあれば、
新しくテキストボックスを作成し、そのテキストボックスのコントロールソースを
=[単価]*[数量]
とすれば、簡単に金額の計算はできます。

もし、データシートに単価のテキストボックスと、数量のテキストボックスがなければ、データシートを再度作成し直したほうが早いかもしれません。
簡単な方法方法としては、以下の2つが考えられます。

(1)金額を計算するクエリを先に作成し、これを元にしてデータシートのフォームを作成。(計算を行うテキストボックスをフォームに新規に作成しなくても済みます。)
(2)フォームの作成ウイザードで、元になるテーブルの全ての項目(マスターテーブルも品目テーブルも)を選択し、データの表示は、byマスターテーブルとして作成する。こうすると作成されるデータフォームのレコードソースは
SELECT [マスタ―テーブル].[ID], [マスタ―テーブル].[M_ID], [品目テーブル].[品目名], [品目テーブル].[単価], [マスタ―テーブル].[数量] FROM 品目テーブル INNER JOIN マスタ―テーブル ON [品目テーブル].[M_ID]=[マスタ―テーブル].[M_ID];
となります。その後新しくテキストボックスを作成し、そのテキストボックスのコントロールソースを
=[単価]*[数量]
とする。

あとは、M_IDをコンボボックスに変えたり、品目名や単価を変えられたくなければそれぞれ編集ロックをかけてください。
ご参考になれば幸いです。m(__)m
    • good
    • 0
この回答へのお礼

お返事遅れて申し訳ございません。
ShadowMoonさんの(1)の案で対処させていただきました。今回のは、早急に作成する必要がありましたので簡単そうなほうを選ばせていただきました。
時間に余裕ができましたら(2)の案の方も試させていただきます。
これからもよろしくお願いいたします。

お礼日時:2002/08/21 15:53

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す