ようこそ ゲスト さん、新規登録(無料)して気になる疑問を解決しませんか?

質問

質問者:magur0 MS ACCESSで条件別に計算する方法
困り度:
  • 困っています
tbl_商品Mには、商品名・商品ID・仕入価格・掛率というパラメータがあります。レコード数は26000点程で、掛率は10程あります。
掛率のパラメータによって別個の計算式を適用し、商品名・商品ID・税込販売価格・税別販売価格というデータを出力をしようとしています。

現在は各掛率毎に、クエリを作成して
商品名・商品ID・税込販売価格・税別販売価格を出力する事は出来ました。
これらの掛率クエリを1つのクエリにまとめたいのですが、上手く出来ません。
IIF関数を使ってやろうとしていますが、
「指定されたフィールド'[掛率]'がSQLステートメントのFROM句にある複数のテーブルを参照しました」
と表示されます。googleで検索してみたものの、どういったエラーなのかはわかりましたが、直す方法が分かりません。

何か良い方法はございませんでしょうか。
また、掛率は随時、変更・増加・減少を伴いますので、管理をもっと簡単に出来る方法がありましたら教えて欲しいです。
質問投稿日時:08/07/04 16:18
質問番号:4150893
この質問に対する回答は締め切られました。
最新から表示回答順に表示良回答のみ表示

回答

良回答20pt

回答者:nda23 >フィールドに数式を入れる事は出来るのですか?
意味が良く分かりませんが、SQLのフィールドに数式は使用可能です。
SELECT Int(仕入価格 * 掛率) As 税別販売価格,〜
また、掛率が計算式なら、文字列として計算式を記述することができます。
実際の値はEval関数で算出します。
計算式:"5/100"
値の取得:Eval(計算式)
SELECT Int(仕入価格 * Eval([掛率])) As 税別販売価格,〜
種類:アドバイス
どんな人:専門家
自信:参考意見
回答日時:08/07/08 11:13
回答番号:No.5
この回答へのお礼上手く出来ました。
ありがとうございます。

回答

 

回答者:nda23 掛率マスタのようなテーブルを作ってみては?
レコード中にはどの掛率を適用するかの基準情報があるはず。
仮にこれを掛率区分とすると、マスタは掛率区分と掛率になります。
このマスタとtbl_商品Mを掛率区分で結合すれば、掛率毎にクエリを
作るようなことはしないで済みますし、掛率が変わったときでも
マスタを更新すれば良い訳です。
種類:アドバイス
どんな人:専門家
自信:参考意見
回答日時:08/07/04 23:53
回答番号:No.4
この回答への補足本来はそういう形をとりたいのですが、フィールドに数式を入れる事は出来るのですか?
掛率同じ掛率区分でも常に一定にはなりません。
調べたところ、アクセスでは出来ないと思っているのですが・・・。
この回答へのお礼この回答にお礼をつける(質問者のみ)

回答

良回答10pt

回答者:CHRONOS_0 >「指定されたフィールド'[掛率]'がSQLステートメントのFROM句にある複数のテーブルを参照しました」
>と表示されます。googleで検索してみたものの、
>どういったエラーなのかはわかりましたが、直す方法が分かりません。
フィールド名の前にテーブル名をつけてやるだけです
テーブル名.フィールド名
種類:回答
どんな人:経験者
自信:自信あり
回答日時:08/07/04 16:58
回答番号:No.3
この回答への補足ありがとうございます。対応出来ました。
この回答へのお礼この回答にお礼をつける(質問者のみ)

回答

 

回答者:Husky2007 商品マスタ:

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・税込販売価格・税別販売価格を出力する事は出来ました。

判りません。
普通は、叙述のように[税抜販売単価]と[消費税]を単純に計算するだけ。

<掛率のパラメータによって別個の計算式を適用>

これって、滅茶苦茶に非システム的でしょう。
種類:アドバイス
どんな人:一般人
自信:参考意見
回答日時:08/07/04 16:49
回答番号:No.2
この回答への補足>これって、滅茶苦茶に非システム的でしょう。
その通りだと思います・・・。
この回答へのお礼この回答にお礼をつける(質問者のみ)

回答

 

回答者:Dxak > 「指定されたフィールド'[掛率]'がSQLステートメントのFROM句にある
> 複数のテーブルを参照しました」
と、表示されるSQL文を出しましょう

> 商品名・商品ID・仕入価格・掛率
> 掛率は10程あります。
> 掛率のパラメータによって別個の計算式を適用し、
> 商品名・商品ID・税込販売価格・税別販売価格
の意味・関係が、多分、質問者さま以外、判りません
種類:補足要求
どんな人:一般人
自信:参考意見
回答日時:08/07/04 16:28
回答番号:No.1
この回答へのお礼この回答にお礼をつける(質問者のみ)
最新から表示回答順に表示良回答のみ表示