• ベストアンサー

ACCESSで計算をさせたい。

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

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

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

>この小計の合計を求めるにはどこにどのように計算式を入れればいいでしょうか? フォームが帳票フォームであればフォームフッターに例えばテキスト1というコントロールを配置しコントロールソースに =Sum([金額]) で合計できます。 >同じくテーブルに反映させる場合はどのようにすればいいでしょうか 通常では数量と単価をかけた結果の金額やその金額の合計などはテーブルには保存しません。 仮に保存する場合は先の回答に書きましたがレコードの保存時やフォームを閉じるときなどのイベントに Me![合計]=Me![テキスト1] (テキスト1というコントロールに合計を表示させた場合) をコマンドが実行される前に追加してテーブルに保存する。 フォームの構成等分かりませんが。コントロールの使い方によって合計のコントロールを配置して他のコントロールの更新後処理などによって合計を代入することもやはり出来ます。

ossannsan
質問者

お礼

お礼を申し上げるのが大変遅くなりました。 申し訳ありませんでした。 教えていただいたとおりにやってみて何とかうまく行きました。 本当にありがとうございました。

その他の回答 (3)

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

>テーブルでは計算ができないのでクエリでやるとしたらどのようにしたらいいでしょうか? テーブルに数量・単価・金額というフィールドがあるとして クエリで数量・単価のフィールドを配置して新しいフィールドに金額:[数量]*[単価]とすれば算出できます。 >計算結果もレコードに保存できるものでしょうか? 更新クエリを使えばできます。 金額のフィールドを配置しクエリの種類を更新にするとレコードの更新欄が表示されますのでそこに [数量]*[単価] と設定し保存します。保存してクエリをダブルクリックか開くをすれば演算結果が金額のフィールドに保存されます。 >フォームで・・その結果をレコードに残して行きたいと思っています。 色々方法はありますが フォームの単価のコントロールの更新後処理のイベントに Me![金額]=Me![数量]*Me![単価] として金額のコントロールに代入させてしまう方法。 フォームで演算した結果をテーブルに保存するにはレコードの保存時やフォームを閉じるときなどのイベントに Me![金額]=Me![金額1] をコマンドが実行される前に追加して保存してしまう方法。(この場合テーブルのフィールド名とフォーム上のコントロール名が一緒だとエラーになります。) などがあります。

ossannsan
質問者

補足

ありがとうございます。 早速試してみました。 うまく行きました。 そこでこの金額を小計として、数行の明細がある場合、この小計の合計を求めるにはどこにどのように計算式を入れればいいでしょうか? またも同じくテーブルに反映させる場合はどのようにすればいいでしょうか? よろしくお願いいたします。

回答No.2

#1です。#1に回答漏れがありました。 > 数量(A1)×単価(B1)=金額(C1)というC1の計算結果もレコードに保存できるものでしょうか? 可能ではあります。もし必要だったら私は次のようにします。 ・テーブルの全レコードをまとめて計算し保存するなら「更新クエリ」を利用します。 ・確認したレコードのみ計算結果を保存する場合は、フォームの中でVBAのプログラムを利用します。 では。

ossannsan
質問者

お礼

ご回答ありがとうございます。 さまざまなやり方があるのですね。 大変勉強になりました。 ありがとうございました。

回答No.1

こんばんは。 > エクセルのように結果を出し残す 勘違いがありそうですね。 Excel は計算結果を保存せず、計算式を保存します。 ブックを開いた時に自動計算をするので、計算結果を保存しているかのように見えるだけです。 > テーブルでは計算ができないのでクエリでやるとしたらどのようにしたらいいでしょうか? デザイングリッドのフィールドセルに次のように記述します。 金額:[単価]*[数量] > その結果をレコードに残して行きたいと思っています。 クエリのデータシートはテーブルと同様に取り扱いできますので、クエリで金額の計算できればそれで十分と思います。

関連するQ&A

  • ACCESS教えて下さい。

    こんにちは。 ACCESSで今データーベース作ってます。 初心者なのですが、 売上管理の為 テーブルを作成 ID 数量 単価 金額 を作成し、入力(フォーム)で数量と単価をいれると自動計算できるようにしたいのです。 今までは、合計をクエリーで作成してました。計算は出来るのですが、テーブルで合計が入力されないし、その金額を次利用しようとしても、使えません。 数量*単価⇒の値を金額へ保存していきたいのですが・・。 宜しくお願いします。

  • access テーブルへのデータ入力について

    只今accessにて受発注のデータベースを作っておりますが、初心者でつまずいているため、ご教授ください。 商品テーブルに仕入単価が入っています。受注テーブルには仕入金額を入力する欄があります。普通なら、仕入単価と受注の数量をクエリで計算させて様々に加工、使用していくと思うのです。しかし、仕入単価は一応1年単位で決まっていますが、原材料の価格によって変動がある場合があります。 そこで、納品書の入手時点で仕入金額を入力しようと考えていますが、基本的には商品テーブルの単価使用したいので、フォームの仕入金額を入力する規定値に商品テーブルからの単価で計算させ、違った場合は手入力という形にしたいと思っています。 規定値に =[数量]*[単価](このフォーム自体のレコードソースが各テーブルをつなげた参照クエリです。) と設定しましたがname?エラーが返ってきています。 どうしたらいいでしょうか?この方法に限らず、単価変動がある場合の金額をどのようにすれば管理できるか案がありましたらお教えください。

  • Accessの自動計算のマクロについて

    Access初心者のものです。 Accessで商品管理のデータベースを作成しています。 主なテーブルの内容は、 商品番号、商品名、仕入数、仕入単価、販売数、販売単価、などです。 そしてクエリで、 仕入数×仕入単価=仕入金額、販売数×販売単価=販売金額を作成し、 入力フォームのフィールドで仕入数、仕入単価を入れれば仕入金額が計算されるようにしています。 そこでですが、仕入金額の表示が仕入数、仕入単価を入れて仕入金額のフィールドにフォーカス移動したときに計算結果が表示されずレコードの移動して元に戻ると計算結果が表示されます。 結果的には計算結果は表示されるのですが、レコード移動ではなくフォーカス移動後に計算結果を表示させるには、どのようなマクロの設定をすればよろしいのでしょうか? マクロについてはあまり詳しくはない為、その点ご考慮くださいますよう宜しくお願いいたします。

  • アクセス

    アクセスでテーブル上で、   単価 数量 金額    3 5 15 のように単価、数量いれると金額が合計されるテーブルができますか? クエリはつかわないで・・

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

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

  • Access クエリ 抽出・演算

    Access クエリについてご質問させていただきます。 テーブルのデータを特定の条件に一致するレコードだけ抽出し、演算を実施したいです。 (1):CSVデータをテーブルに取り込みます。 テーブルは左から『取引No』『部門コード』『部門名』『発注入力日』『担当者名』『発注日』『伝票No』『伝票行No』『商品コード』『商品名』『入数』『発注数(入力数)』『発注数量※1』『発注金額※2』『出荷日』『出荷数量※3』『出荷金額※4』となっております。 ※1:発注数量は入数×発注数が計算済みです。 ※2:発注金額は発注数量×単価で小数点以下切り捨てで計算済みです。 ※3:出荷数量は入数×出荷数が計算済みです。 ※4:出荷金額は出荷数量×単価で小数点以下切り捨てで計算済みです。 (2):クエリを使用して、商品名が『単3乾電池』の出荷数量を10で割り、10で割り切れるレコードを求めたいです。 (3):(2)の演算結果(10で割った後の整数)を合算して合計値をクエリの演算結果として表示したいです。 ※(2)の抽出条件でのクエリをすでに作成済みで、合計したクエリを作成したいです。 どのようにすればよろしいでしょうか?

  • Access2003 合計値の求め方について

    Acdess超初心者です。ご存知の方がいらっしゃいましたらお教え下さい。 Access2003で請求書を作成しております。 メインテーブル 宛名、敬称、発行日、請求番号、件名、課税区分、小計、消費税、合計 サブテーブル  請求番号、項番、工事名、数量、単価 サブテーブルを基に作成したクエリ 請求番号、項番、工事名、数量、単価、金額 メインテーブルの請求番号とサブテーブルの請求番号は1対多のリレーションを組んでいます。 メインテーブルとクエリを基にフォームを作成して、メインフォーム(レコードソースはメインテーブル) 上にサブフォーム(レコードソースはクエリ)を配置しています。 サブテーブルの金額の合計をメインフォーム上の「小計」で求めたいのですが、方法が分かりません。 どのように作成するとメインフォーム上の「小計」でサブフォームの金額合計を求めることができるか お教え下さい。 初歩的な質問で申し訳ありませんが何卒よろしくお願い致します。

  • Accessの計算について

    いつもお世話になっております。 Access2002で、以下のような計算って出来るのでしょうか? <材料テーブル> ID|材料名|単価 1|木  |200 2|紙  |100 というテーブルがあり、コンボボックスで選んだ場合に材料テーブルのIDの値をmasterテーブルに以下のように格納させたいと思ってます。 <master> ID|数量| 1| 1| 2| 1| すなわち、masterテーブルには材料テーブルで選択したIDの値が挿入されるのですが、masterテーブルに挿入されたIDを元に、材料テーブルの単価を参照させて計算させると言うことです。 すなわち計算式は、ファームで合計欄という非連結のテキストボックスを作って、その中に、計算式を入れて計算させるということです。 合計=単価*数量 って具合です。実際は、masterテーブルに入っている値はIDなので、それをどうにかして、masterに入っているIDを元に単価を参照させて、フォーム上で計算させたいという風にしたいのですが・・・ よろしくお願いいたします。

  • アクセス、クエリでの計算

    恐らく、すごく初歩的な質問で申し訳ないのですが、 是非皆さんの知恵をお借りしたく質問させていただきます。 アクセスで見積や請求などをする場合、商品ごとの値段の合計を[単価*数量]で出すことはできるのですが、結局ある見積書に対して、いくつかの商品の合計金額の総合計金額の出し方が分からなくて困っています。 クエリでのこの計算の仕方はどうすれば良いのでしょうか? フォーム上での計算は本に載っていたのですが、やはりクエリ上でもdsum関数を使うのですか? きっとまだまだデータベースの構造が把握できてないのでこんな事で壁にぶつかってしまうのだと思うんですが。。 お力を貸していただけると幸いです。どうぞよろしくお願いします。

  • アクセス初心者です

    納品書を元に仕入帳を作ってみたいと思うのですが テーブルとフォームは何となくわかったのですがクエリーでつまずいてしまいました 例 納品書 月日 A商店 伝票ナンバー 商品コード 品名 金額  入数 単価 数量 金額 売値  これを元に仕入帳を作りたいと思います 仕入帳 A商店、B商店、C商店に分けて 品名 金額 数量 単価 金額が出るように 又納品書は商品コードを入れただけで品名、金額、入数、単価が出るようにしたいのですが 納品書はテーブル、フォームは作りました 商品マスタも作りました 

専門家に質問してみよう