• ベストアンサー

アクセスでエクセルみたいに前後の値で計算

アクセスでエクセルみたいに、前後の値で計算はできますか? 例えばアクセスに 日付     金額 2013/06/30     ¥1,000 2013/07/31     ¥1,500 2013/08/31     ¥1,800 というテーブルがあり、 クエリで新しいフィールドを作り、 2013/07/31 500 2013/08/31 300 を表示させることは可能ですか? エクセルなら =B3-B2 でできますが、アクセスのクエリでこういう事をする場合、どうすればよいでしょうか? 添付画像はエクセルの例ですが、実際にやりたいのはアクセスです。

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

  • ベストアンサー
  • lv4u
  • ベストアンサー率27% (1862/6715)
回答No.1

アクセスでは、質問のような、ちょと凝った処理はVBAで行います。 また、ソフト会社で「アクセスで開発依頼を受ける」という場合、アクセスは単なるデータベース的な使い方で、ほとんどの処理はVBA(VisualBasic)で記述することも多いですよ。 つまりは、アクセスVBAの使い方を覚えて、やりたいことをロジックとして整理し、プログラミングすればいいだけです。

WGPWKITPYSTLC
質問者

お礼

回答ありがとうございました。

関連するQ&A

  • ACCESSで計算をさせたい。

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

  • アクセスのクエリで

    アクセスのクエリで、テーブルAのフィールド1が"a"又は、"b"の場合は、"ABC"と表示し、それ以外の場合は、テーブルAのフィールド2に対応している、テーブルBのフィールド1の値を表示させる事はできますか? 誰か教えて下さい。よろしくお願いします。

  • アクセスの使い方についてです。

    アクセスの使い方についてです。 クエリで以下の2個の様なテーブルデータを合わせたいと思っております。 テーブル1 日付      金額 2010/01/01 10000 2010/01/03 10000 2010/01/05 10000 2010/01/07 10000 : : デーブル2 日付      金額 2010/01/01 10000 2010/01/02 10000 2010/01/03 10000 2010/01/04 10000 : : これらを日付で結びつけると 日付      金額 2010/01/01 20000 2010/01/03 20000 2010/01/05 10000 2010/01/07 10000 : : と、2010/01/02等テーブル1にない日付のが飛ばされてしまいます・・・ クエリの仕組みで飛ばされているとは思うのですがなんとか 日付      金額 2010/01/01 20000 2010/01/02 10000 2010/01/03 20000 2010/01/04 10000 : : このような出力にできませんでしょうか?

  • Accessで累計計算する方法を教えてください。

    現在Access2000で、在庫管理をしています。 添付ファイルのように(1)~(3)のようなテーブルがあります。商品を発注するにあたり(3)現在庫の確認と(2)発注済み分の確認、(1)受注内容の確認などと効率の悪い状況です。 そこで各商品ごとに入出庫をみることができるレポートを出力できるようにしたいと思います。例えば、商品Bであれば(4)のようなレポートを出力したいと思います。 (1)と(2)のテーブルのフィールドをユニオンクエリーで結合させるところまでは何とかできたのですが、肝心な"在庫累計"をうまく計算できません。添付ファイルの(A)と(B) 色々調べると、Dsum関数があるようなのですで、このユニオンクエリーをもとに選択クエリーをつくりこの関数を使ってみたのですが(4)のレポートのようにはいきません。"期日"を条件にしたのですが同じ日だとすべて合計されてしまします。また、出力するレコードの順番は日付で昇順、同じ日付のレコードは入庫(プラスのレコード)を上位に、続いて出庫(マイナスのレコード)の順番にしたいです。 (4)のようなレポートが作成できれば方法は問わないです... なにかいい方法をアドバイスをいただけますでしょうか。 宜しくお願いいたします。

  • アクセス フィールド・テーブルの結合について

    始めましてアクセス・データベース初心者です。 簡単な質問でしたら申し訳ございませんが 出来る限り分かり易く解答して頂けますと嬉しく思います。 テーブルの中に同じ値のフィールドを持つレコードがあり、 その同一フィールドでまとめて表示したいと思いますが どのようにすればよいか分かりません。 下記に例を表示致しますのでご参考にして頂ければと思います。 ID 品番 金額 111 AAA 1000円 111 BBB 150円 222 ZZZ 300円 このようなデータを下のようなデータに直したいです。 ID 品番1 金額1 品番2 金額2 品番3 ・・・ 111 AAA 1000円 BBBB 150円 ・・・ 222 ZZZ 300円 見にくいと思いますので例の画像も添付させて頂きます。 整理後のフィールドは品番1~品番6・金額1~金額6まで作る予定です。 品番や金額の種類は多数あります。 クロス集計クエリでするのかユニオンクエリというのを使うのかといところまでは調べたのですが、両方イマイチよく分かりません。 かなり困っていますのでどうかお助け下さいませ(泣)。

  • Accessで値がnullの場合は計算せずにnullをかえす方法

    Accessについて、教えてください。 クエリで抽出しているときに、フィールド1とフィールド2の数値を掛け算した値をフィールド3に表示したいと思っています。(小数点1位まで表示) フィールド1とフィールド2は値がnullの場合もありますが、この場合は「0」として扱うのではなく、そのまま計算結果もnullにしたいと思っています。 最初は単純に フィールド3: ROUNDMS2(ROUNDMS([フィールド1],1)*ROUNDMS([フィールド2],1),1) とクエリに表記したのですが、この場合「フィールド1」や「フィールド2」がnullの場合は#ERRORが表示されました。 次に、IFでフィールド1やフィールド2がnullの場合は計算せずにnullをかえしてもらおうと下記のような文をつくりました。 フィールド3: IIf([フィールド1]=Null,Null,IIf([フィールド2]=Null,Null,ROUNDMS2(ROUNDMS([フィールド1],1)*ROUNDMS([フィールド2],1),1))) これでもやっぱり#ERRORが表示されます。 いろいろと検索したのですが、nullを0として扱う例は多数見つけられましたがnullのまま扱う例が見つけられませんでした。 勘違いしているところがあるかもしれませんが、アドバイスよろしくお願いいたします。

  • excelでの計算をaccessで実現可能か?

    excelでの計算をaccessで実現可能か? 文字列の中にスペースと+の記号があった場合、スペースを削除し、+までの文字列を抽出ということをexcelの計算式で実施しています。 例: B4のセルに ABCD+0001 という文字列があった場合、下記の計算式により、 =IF(LEN(B4)>13,LEFT(TRIM(B4),LEN(TRIM(B4))-FIND("+",TRIM(B4))-1),B4) ABCDという文字列を抽出できます。 この計算式をaccessで実現可能でしょうか? フィールド1に元の文字列、フィールド2に抽出結果を算出したいのです。

  • accessで重複を排除してデータ追加したい

    access2000使っています。 EXCELからリンクしたテーブルAのデータをテーブルB追加しています。テーブルBには累計というか履歴のようにデータを蓄積させています。 今は追加クエリでA→Bにデータ入れていますが、どうしても重複するものがあると警告メッセージが出てしまいます。フィールドは、日付*、コード*、金額、で*のものをキーにしています。 警告メッセージを出さず追加する方法、もしくは現在Bにある日付移行のものだけ追加する方法はないでしょうか?

  • アクセスのクエリでパラメータを表示させない方法は?

    超初心者の質問ですみません。。 アクセスのクエリで、ある数字の全体に対して占める割合を求めるため、以下のような式をいれています。 フィールドC: [フィールドA]/[フィールドB] このクエリを開いたときに毎回パラメータが表示されるのですが、これを表示させないためにはどのようにすればよいのでしょうか?OKを2回押せばきちんと計算された値が入ってくるのですが、毎回OKを押さずに開けるようにしたいです。 ちなみに、フィールドAとフィールドBは、あるテーブルに入っている値をクエリ側で 集計 を「合計」に設定して求めた値が入っていて、フィールドA~Cは同じクエリの中にあります。 VBAやSQLはまったく理解できません。 よろしくお願いします。

  • エクセルの関数についてです。

    エクセルの関数についてです。 とある目的で、添付画像のようなエクセルの テーブルを作ったのですが、 『E列の値が「"OK"」の行の、「C列の金額」を足し合わせる』  ※画像の例で言えば、「¥30,000+¥20,000+¥10,000」を、   E列の値を判定しながら行う。 こういう計算を行う、何か良い関数をご存知でしたら、教えて下さい。 何卒、宜しくお願い致します。

専門家に質問してみよう