• ベストアンサー

ACCESSの計算式について

ACCESS97にて、テーブルの1つのセル内に[1,2,3,4,5,・・・・]というように数字が入っていて、1が0点、2が5点、3が5点というように計算したいのですが、何かクエリーで作成できる計算式はありますか?

  • ccg
  • お礼率61% (36/59)

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

  • ベストアンサー
  • KODAMAR
  • ベストアンサー率26% (267/1006)
回答No.5

再びです。 同じ場所で計算するのであれば =Iif([数値]=1,0,0)+(Iif([数値]=2,5,0))+(Iif([数値]=3,5,0)) とすれば合計がでます。 もし数値フィールドはそのままで、別フィールドにクエリで出した結果で計算をしたい場合は、 ちょっと方法が変わってきます。(この式をそのままかいてもできますけど) クエリで出した結果からさらに計算、というのはどうやらAccessではできないようなので。。。

ccg
質問者

お礼

ありがとうございました。作成してみます。

その他の回答 (4)

  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.4

KODAMARさんやranxさんの言うようにIIfを使うか 数値と点のテーブルを作ってリレーションを作るかですね。 数値に対応する点の変更が発生する確率が多ければ点のテーブルを作って数値と リレーションさせておいて点テーブルの点数を変更に合わせて再入力する。 点の変更が発生する確率が無いか若しくは少ないようでしたらIIfを使って 数値が1の場合は0、それ以外は・・・。それ以外の所に再度IIfを孫入れ して必要個数の点を記述していくのが良いと思います。 点の変更が有るようだったら点テーブルとリレーション。無いか少ないよう だったらIIfを使うのが良いと思いますよ。

ccg
質問者

お礼

ありがとうございました。IIF関数でやってみます。

  • TMINET
  • ベストアンサー率32% (45/140)
回答No.3

一つのフィールドに違う意味を持つ複数の値(カンマ区切り)を入力すると言うことですか? [1,2,3,4,5]と入力して [0,5,5,7,7]と結果を出す? この場合ですと、そもそもDBの使い方にそぐわないと思います。 やってやれないこともないですが複雑な処理になると思います。 一つの値に対しある特定の結果を表示させたいのであれば、IIF関数でも良いですし、別に点数テーブルを作成してクエリーで結合しても可能です。

  • ranx
  • ベストアンサー率24% (357/1463)
回答No.2

ACCESSならば、数値と点を対応づけるテーブルを別に作成して リレーションをはる方が楽だと思いますが...。

  • KODAMAR
  • ベストアンサー率26% (267/1006)
回答No.1

IIF文を使ってみてはいかがでしょう? 数値が入っているフィールドを「数値」とします。 =Iif([数値]=1,0,(Iif([数値]=2,5,(Iif([数値]=3,5,""))))) という感じでできるかと思います。

ccg
質問者

補足

ありがとうございます。また教えて頂きたいのですが、1,0 2,5 3,5 を 0と5と5・・・をたして合計点を出したいのですが。 まったくの素人です。お願いします。

関連するQ&A

  • ACCESSで計算をさせたい。

    お世話になっています。 早速ですが、ACCESS2003でテーブルに入力した数字がエクセルのように結果を出し残すことはできるのでしょうか? テーブルでは計算ができないのでクエリでやるとしたらどのようにしたらいいでしょうか? 数量(A1)×単価(B1)=金額(C1)というC1の計算結果もレコードに保存できるものでしょうか? フォームではもちろん入力した数字を計算させることはできるのですが、その結果をレコードに残して行きたいと思っています。 どうかよろしくお願い申し上げます。

  • Access クエリ、計算について

    クエリで計算、集計した結果をもう一度計算する場合 一度テーブル作成クエリでテーブルを作成してから そのテーブルをクエリに変換しないといけない、と考えていましたが 集計したクエリを別のクエリで集計できるのですかね? テーブル作成クエリは、クエリを実行するたびに計算、集計すると 時間がかかってしまうので完成したデータをテーブルとして作成する という考え方であっているでしょうか?

  • ACCESS2003単純計算方法

    ACCESSの質問お願いいたします。 ACCESS初心者です。 テーブルにA、B、C、Dの項目を作成し テーブルDにA-BやB-Cなどの計算を実行して Dのテーブルに代入する方法を教えてください。 クエリを使う課と思いますが、記述式は テーブル名でしょうか? よろしくお願いします。

  • アクセス2003 計算結果を反映させたい

    当方:XPのoffice2003 です。 アクセスでデータを作っています。 商品名テーブルを作成し、クエリを介して フォームから入力できるようにしています。 たとえば、100g2000円の商品があったとして、 これをgごとに単価を出したいのですが、 (例でいうと、20 という答えを出したい) 本を読んで、フォーム上で自動計算させることは できるのですが、このフォームの数字を そのままテーブルに反映させることはできますか? 集計表を出すときに、クエリで集計表を出して印刷し、 資料にしています。 この集計表に、計算させた単価を表示させたいのですが・・・ 私のやりかたが間違ってるのか、 または違う方法でできるものがあるのか、 教えて頂きたいと思います。 説明不足の部分がありましたら、ご指摘下さい。 よろしくお願いします。

  • Accessで年齢の計算

    Accessで年齢の計算 初心者です。 フォーム・クエリで計算式で表示させることはできたのですが,それをテーブルに反映させる方法が分かりません。テーブルには「年齢」列はあるのですが計算結果が反映されないので,テーブルから抽出をかけたいので,よろしくお教えください。よろしくお願いいたします。

  • クエリの計算結果をテーブルに格納するには?

    Windows NTでAccess2000を使っています。 クエリで関数の計算をさせてフォームで必要な数字を打ち込むと 計算結果が表示されるところまでは確認できましたが その値をテーブルに収めることはできないのでしょうか? 計算させたクエリからテーブルを作るというやり方もありますが それはもうひと手間ということになるので出来れば避けたいのです。 よろしくお願いします。

  • Access2000 フォームで計算したものをテーブルに反映するには?

    上司に頼まれ、Access2000で従業員データを作成しました。 そこで、フォームにおいて年齢を計算するために 「生年月日」を入力する欄と、「年齢」を表示する欄を作成して コントロールソースにも入れて、うまく表示できたのですが、 その年齢の数字が、テーブルやクエリで見ると表示されていません。 他の何かのデータを見た時にはできていたはず。。。 表示する為の手順が足りないのでしょうが、初心者ゆえにまったくしてわかりません、教えて下さい。 どうかよろしくお願いいたします。

  • access2000にてクエリで日付計算

    アクセスのテーブルにて 開始時間 00:00 と終了時間 99:99 を持っています クエリで 終了時間-開始時間を計算し 実働時間 00:00 を出したいのですが 普通に計算すると0.023088・・・とかの数字になります 実働時間を計算する方法はありますでしょうか? 開始時間 終了時間ともデータ型は 日付/時刻型になってます

  • ACCESS教えてください!

    宜しくお願いします。ACCESS勉強中の初心者です。 ACCESSのクエリで抽出をし、テーブル作成という機能があると思いますが、このテーブル作成をフォーム上で再クエリするにはどのようにすればよいのか教えてください! 宜しくお願いします。

  • Access クエリで2段階計算をしたい

    Access2003を使用中です。 Access初心者です。 ある数値データのテーブルがあります。 A~Gグループ毎にクエリをつくりそれぞれ小計を出しています。 さらにA小計~G小計 を合計する別のクエリをつくり、  合計:Nz([A小計]+[B小計]+・・・・+[G小計]) という式を入れたのですが、計算されるのではなく、数字の連なりになって出てきます。 説明が悪いのですが、  例えばA小計=12  B小計=16 C小計=6 ・・・・ だと このフィールドには  「12166・・・」という形で出てきます。 計算の式が間違っているのでしょうか?それともクエリで出した小計を更に合計することは出来ないのでしょうか? 申し訳ありませんが、ご教授ください