電子書籍の厳選無料作品が豊富!

accessにてフォーム上で計算したいです。
そしてその計算結果は保存したくないのですが…(一時的に見れればOKです)

テーブルには商品コードと単価があります。
そして商品が増えるごとに合計金額は割増されていくわけですが、
商品ごとに割増金額が違います(割増がないものもあります)

それをフォーム上で計算させたいのです。
あくまで金額がわかればいいので、その計算結果は保存したくないのです。
非連結フォーム上でswitch関数を使えばいいと思ったのですが、
それだとテーブルにフィールドを設けなくてはならないので、結果が保存されてしまいます。
どうすれば、テーブルに保存されずに計算させることができますか?
よろしくお願い致します。

質問者からの補足コメント

  • 回答ありがとうございます。
    フォーム上で演算コントロールはもちろん試しましたが要は非連結のテキストボックスのコントロールに関数を入れるということですよね?
    そうするとフィールド単位での計算になるのでテーブルにフィールドを設けないちいけないんですよね…
    テキストボックス単位で計算できればいいいんですが…

    テーブルには商品ID(オートナンバー)、商品名、割増金額、単価のフィールドがあります。
    フォーム上でコンボボックスで商品名選択後、テキストボックスに個数入力後
    割増金額の合計が出てくるようにしたいんですが…

    テーブルで個数フィールドを設けるしかないでしょうかね…?

    No.1の回答に寄せられた補足コメントです。 補足日時:2015/06/06 13:35

A 回答 (2件)

一般的に個数が多くなったら割増ではなく割引になりそうな気がしますが、


たとえば
商品ID|商品名|個数|割増金額←一個当たりの単価
1|パン|3|100
1|パン|5|120
1|パン|10|200
1|パン|999|200
2|メン|1|100
2|メン|5|150
2|メン|999|180
3|アン|999|1100 ←アンは割増無しなので適当な最大値だけ設定
とします。
個数は必ず考えられる最大値も設定します。
パンの場合で言うと、3個までは100円、5個なら120円の価格設定です。
パンで4個の場合は
dmin("割増金額","テーブル名","商品ID=1 AND 個数>=4")
で割増金額が求められますから
フォームでは
商品ID(コンボボックスなど)と個数のコントロールを配置して
非連結の算出割増金額コントロールに=dmin("割増金額","テーブル名","商品ID=1 AND 個数>=4")
合計コントロールには、=[個数]*[算出割増金額]
でよいのでは。

コンボボックスなら、
値集合ソースに
SELECT [商品ID], [商品名] FROM テーブル名
GROUP BY 商品ID , 商品名
ORDER BY [商品ID], [商品名];
値集合タイプに、テーブル/クエリになります。
    • good
    • 0

フォームに演算コントロールを作成してください。


要素は、単価・数量・割増金額の算出規則ですが
単価マスタテーブル・割増金額をどのように作成されているのかが分からないので
リンクの紹介にとどめます。
http://makoto-watanabe.main.jp/access/achowCreat …
この回答への補足あり
    • good
    • 0

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