質問 |
||
| 質問者: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 |
|
| この回答へのお礼 | この回答にお礼をつける(質問者のみ) |