- ベストアンサー
本当に初歩的ですみません。
アクセスにおいて、テーブルのフィールド名として商品(1)、金額(1)、商品(2)、金額(2)、消費税、計という項目とつけたとします。 テーブル上で金額(1)と金額(2)の消費税を、消費税フィールド上で計算させるにはどうすれば良いのでしょう? それから消費税を含んだ計を、計フィールド上で計算させる方法を教えて下さい。 宜しくお願いします
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
#1です。一例です。 サンプルとして、新規データベースを作成して、テーブル「tbl_keihi」を作成します。フィールドは cost:数値型→整数 tax:数値型→単精度浮動小数点 です。作成が終わったら、一旦閉じて、次は新規フォームの作成です。 今作ったtbl_keihiをデータソースにして、新規フォームを作成します。とりあえず単票形式でいいでしょう。 このとき、デザインビューの「cost」フィールドのプロパティを表示させ、イベントの「更新後処理」のところをクリックすると[...]というボタンが表示されると思います。そのボタンをクリックすると「ビルダの選択」と言うのが表示されますので、「コードビルダ」を選択してクリックします。 すると、画面にVisualBasicEditorというのが表示されると思いますので、 Private Sub cost_AfterUpdate() Me.tax = cost.Value * 1.05 End Sub という風になるように中の一行を記述します。 終わったら保存して、フォームを、フォームビューで実行し、costの項目に金額を入れてTABキーなどで次のフィールドに移動してみて下さい。 taxフィールドに税込み金額が表示されたと思います。
その他の回答 (2)
- cafedemocha
- ベストアンサー率29% (232/789)
テーブル上でやりたいのであれば、VBAでも組んでテーブルに保存する際に計算させるしかないのではないかと思いますよ 一般的なやり方は、クエリーやフォーム、或いは、レポートで計算させる方法ですね テーブルは、元々データを入れておくだけの入れ物、と考えた方が良いですからね クエリーであれば、消費税:[金額(1)]*0.05+[金額(2)]*0.05 こんな式を入れてやれば、簡単に計算できますし、 合計を出したければ、集計フィールドを出して、合計と指定してやれば出ますし また、合計:sum([金額(1)]*1.05+[金額(2)]*1.05)とでもしてやれば、計算できます 但し、数値データフィールドに、NULL値が入っていない事が前提で、NULL値が入っている場合は、論理式でNULL値を0とみなす等の処理をしてやらなければ、上手く計算できません
お礼
色々と勉強が必要ですね。 本なども参考にしてもっと勉強します。 アドバイス有難う御座います。
- coco1
- ベストアンサー率25% (323/1260)
Excelや桐とはちがって、ACCESSのフィールドには計算式を埋め込むことはできません。 従って、ご質問の方法を実現するには、クエリやフォームを作成しなければなりません。 クエリの場合、クエリビルダでフィールド名に 消費税:=[金額(1)]*0.05 の様な数式を埋め込んで計算できます。 また、フォームでも考え方が同様ですが、フォームの場合、金額が入力されたことを検出して、イベント処理で計算した結果を既存のフィールドに入力すると言うこともできます。 不明な点は再度ご質問下さい。
お礼
お礼の意味を理解しておらずすみませんでした。 特別にお礼を書かなくても締め切れば解決した事になりそれでオッケーだと思っていました。 今後気をつけますのでこれからも宜しくお願いします。 ちなみにこの質問に関しては問題点は解決しいますので御連絡致します。
補足
アドバイスありがとうございます。 イベント処理において、入力された事を検出してその結果を既存のフィールドに入力する方法を教えて下さい。 宜しくお願いします。
お礼
クエリの集計なども含め、より勉強に育みたいと思います。