• ベストアンサー

MS ACCESSで条件別に計算する方法

tbl_商品Mには、商品名・商品ID・仕入価格・掛率というパラメータがあります。レコード数は26000点程で、掛率は10程あります。 掛率のパラメータによって別個の計算式を適用し、商品名・商品ID・税込販売価格・税別販売価格というデータを出力をしようとしています。 現在は各掛率毎に、クエリを作成して 商品名・商品ID・税込販売価格・税別販売価格を出力する事は出来ました。 これらの掛率クエリを1つのクエリにまとめたいのですが、上手く出来ません。 IIF関数を使ってやろうとしていますが、 「指定されたフィールド'[掛率]'がSQLステートメントのFROM句にある複数のテーブルを参照しました」 と表示されます。googleで検索してみたものの、どういったエラーなのかはわかりましたが、直す方法が分かりません。 何か良い方法はございませんでしょうか。 また、掛率は随時、変更・増加・減少を伴いますので、管理をもっと簡単に出来る方法がありましたら教えて欲しいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • nda23
  • ベストアンサー率54% (777/1415)
回答No.5

>フィールドに数式を入れる事は出来るのですか? 意味が良く分かりませんが、SQLのフィールドに数式は使用可能です。 SELECT Int(仕入価格 * 掛率) As 税別販売価格,~ また、掛率が計算式なら、文字列として計算式を記述することができます。 実際の値はEval関数で算出します。 計算式:"5/100" 値の取得:Eval(計算式) SELECT Int(仕入価格 * Eval([掛率])) As 税別販売価格,~

magur0
質問者

お礼

上手く出来ました。 ありがとうございます。

その他の回答 (4)

  • nda23
  • ベストアンサー率54% (777/1415)
回答No.4

掛率マスタのようなテーブルを作ってみては? レコード中にはどの掛率を適用するかの基準情報があるはず。 仮にこれを掛率区分とすると、マスタは掛率区分と掛率になります。 このマスタとtbl_商品Mを掛率区分で結合すれば、掛率毎にクエリを 作るようなことはしないで済みますし、掛率が変わったときでも マスタを更新すれば良い訳です。

magur0
質問者

補足

本来はそういう形をとりたいのですが、フィールドに数式を入れる事は出来るのですか? 掛率同じ掛率区分でも常に一定にはなりません。 調べたところ、アクセスでは出来ないと思っているのですが・・・。

  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.3

>「指定されたフィールド'[掛率]'がSQLステートメントのFROM句にある複数のテーブルを参照しました」 >と表示されます。googleで検索してみたものの、 >どういったエラーなのかはわかりましたが、直す方法が分かりません。 フィールド名の前にテーブル名をつけてやるだけです テーブル名.フィールド名

magur0
質問者

補足

ありがとうございます。対応出来ました。

noname#140971
noname#140971
回答No.2

商品マスタ: ID_品名_仕入単価__掛率 _1_A______\1,000___1.4 _2_B______\1,000___1.5 _3_C______\1,000___1.6 _4_D______\1,000___1.7 クエリ1: ID_品名_仕入単価_掛率_税抜販売単価__消費税額 _1_A______\1,000__1.4_________1400________70 _2_B______\1,000__1.5_________1500________75 _3_C______\1,000__1.6_________1600________80 _4_D______\1,000__1.7_________1700________85 >現在は各掛率毎に、クエリを作成して >商品名・商品ID・税込販売価格・税別販売価格を出力する事は出来ました。 判りません。 普通は、叙述のように[税抜販売単価]と[消費税]を単純に計算するだけ。 <掛率のパラメータによって別個の計算式を適用> これって、滅茶苦茶に非システム的でしょう。

magur0
質問者

補足

>これって、滅茶苦茶に非システム的でしょう。 その通りだと思います・・・。

  • Dxak
  • ベストアンサー率34% (510/1465)
回答No.1

> 「指定されたフィールド'[掛率]'がSQLステートメントのFROM句にある > 複数のテーブルを参照しました」 と、表示されるSQL文を出しましょう > 商品名・商品ID・仕入価格・掛率 > 掛率は10程あります。 > 掛率のパラメータによって別個の計算式を適用し、 > 商品名・商品ID・税込販売価格・税別販売価格 の意味・関係が、多分、質問者さま以外、判りません

関連するQ&A