アクセスーフォームでの計算方法について

このQ&Aのポイント
  • アクセス2000を使用して商品マスターと伝票テーブルを作成し、税抜き金額を計算したいがエラーが出る。
  • 商品マスターの【単価】と伝票入力フォームの【個数】を掛けて税抜き金額を計算したいがうまくいかない。
  • 商品マスターの商品名を選んで個数を入れたら自動的に計算される式を教えてほしい。
回答を見る
  • ベストアンサー

アクセスーフォームでの計算

こんにちは。アクセスの基本のことだと思うのですが、この度簡単な販売管理を作ろうとしています。アクセス2000を使用しています。 テーブルを商品マスターと伝票テーブルを作成しました。 商品マスターのフィールドは【商品番号】【商品名】【単価】です。 伝票テーブルは【伝票番号】【伝票日付】【商品番号】【個数】【税抜き金額】【消費税】【合計金額】です。 商品番号でリレーションを結んでいます。 伝票入力フォームで【税抜き金額】を計算するのに 商品マスターの【単価】と伝票入力フォームの【個数】を掛けたいのですが、上手いこといきません・・・ 今は【税抜き金額】に『=[個数]*[商品マスター]![単価]』と式を入れています。 エラーが#Name?と出ています。 商品番号でコンポボックスで商品マスターの商品名を選ぶようにしています。商品を選んで個数を入れたら計算されるようにしたいのですが、どのように式を入れたらいいのでしょうか??? すみませんが、ご教授をよろしくお願いします。

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

  • ベストアンサー
  • Gin_F
  • ベストアンサー率63% (286/453)
回答No.2

フォームのレコードソースがクエリで、単価フィールドが含まれているものと 思って回答してしまいました。<(_ _)> > コンポボックスで商品マスターの商品名を選ぶようにしています。 このコンボボックスの値集合ソースに、単価フィールドも含めてください。 (表示はさせてもさせなくてもいいです。) =[個数]*コンボボックス名.Column(1) のようにしたら、どうでしょうか? Column プロパティは、コンボボックスの一番左端の列を、0 とします。 なので、2列目に単価フィールドがあった場合、Column(1) とすることで コンボボックスの連結列以外の値を参照することができます。

amountainblast
質問者

お礼

何度も回答をありがとうございます。 どうも根本的にわかっていないみたいなので、 もう少し勉強してみます。 どうもありがとうございました。

その他の回答 (1)

  • Gin_F
  • ベストアンサー率63% (286/453)
回答No.1

> 『=[個数]*[商品マスター]![単価]』 =[個数]*[単価] で、大丈夫だと思います。 Name エラーは、コントロール(テキストボックスとか)の名前プロパティと コントロールソース名が同じ場合などにでますので、テキストボックスの名前を 変更してから試してみてください。

amountainblast
質問者

お礼

ご回答ありがとうございます。 何も変わりませんでした・・・。 試しにと思い、伝票テーブルに単価フィールドを追加したらちゃんとできるようになりました。 何故でしょうかね???

関連するQ&A

  • ファイルメーカーの計算について

    テーブルAとBの間で計算したいのですがうまくいきません。 A(仕入管理)にはフィールド「商品名・単価・個数・合計金額」が各5組あります。このフィールドの商品名・単価はテーブルB(商品マスタ)からルックアップしたものです。  この商品名・単価・個数・合計金額をルックアップ元のテーブルBに商品別に表示(計算)したいのですが、計算式がいまいちうまく行きません。

  • エクセルの計算式なんですが・・・

    税抜き単価が¥3810(税込¥4001)の商品がありまして、これを2個発注すれば当然、税込¥8002ですよね。でもエクセルで3810*1.05*2にすると4000.5+4000.5=8001になっちゃいます↓↓ 税込金額*個数を入力すれば問題ないのですが、発注先の納品書が未だに税抜き表示。しかも同じ商品なのに年に3回も値段が変わるのです。 3810*1.05*2=8002になるような書式の設定方法もしくは計算式を教えてください。

  • データシート上の計算について

    お世話になります。Access2002のフォームのデータシートでの計算についてご教授願います。 計算させる上での構成としましては、 1.マスターテーブルが存在し、そこにデータを格納する 2.マスターテーブルに格納するデータは別個に品目テーブルを参照して固有のIDのみをインプットさせてたい。 すなわち、品目テーブルの値(ID値、品目名、単価)が存在し、マスターテーブルに品目テーブルのIDのみを格納し、データシート上では個数を入力させると、自動的に計算させたいです。 <マスターテーブル>は、ID、M_ID、数量という構成をとり、品目テーブルは、M_ID、品目名、単価という構成をとり、M_IDでリレーションをとっています。 データシート上は、マスターテーブルのM_IDでコンボボックスをつくり、マスターテーブルのM_IDのコンボボックスは品目テーブルの品目と単価をデータで持っています。 データシート上での計算のしかたについてよろしくお願いいたします。 不明点がありましたら、補足いたします。

  • Access97フォームで計算したものをテーブルに入力したい

    Access97で受注管理のデータベースを設計中です。 フォームのテキストボックス[税込金額]のコントロールソースに =Int([税抜金額]*[消費税率]*0.01+[税抜金額]) という式を入れました。 はたと気がついたら、基になるテーブルの[税込金額]には当然 (コントロールソースじゃなくなってしまったから)そこで 計算された値は更新されません。 テーブルにその値を更新したいのですが、そのためにはどのように すればよろしいでしょうか? 基になるテーブルに[税抜金額][消費税率][税込金額]という項目が あります。で、フォームを使用して入力時に税抜き金額を入力し、 消費税率を入力すると税込金額が小数点切り捨てで自動で入力される という風に組めればフォームの中で計算できなくてもフォームで値が 表示されればかまいません。 要領を得ない質問でスミマセン。お手数ですが教えてください。

  • access2003 複数のフォームから入力したデータに通し番号を付けてストックしたい

    初心者の恥ずかしい質問かもしれないので申し訳ありませんが、自力で解決できないのでアドバイスをお願いします。 伝票入力画面を作っています。  ◆親)売上入力フォーム:売上管理番号/日付/取引先/売上合計金額 ◆子)売上明細フォーム:商品コード/商品名/単価/数量/明細金額 ◆売上入力テーブル:売上管理番号/取引先/日付 ◆売上明細テーブル:明細番号/売上管理番号/商品コード/数量/明細単価 伝票が数種類あるため、それぞれの伝票を画像として取り込んで複数の入力画面を作り、入力しやすくしようと思っています。 このとき、各フォームから入力したデータを、オートナンバーでひとつの売上入力/明細テーブルにストックしていくにはどうしたらよいでしょうか? よろしくお願いします。

  • ACCESS2000のテーブル構造

    ACCESS2000のテーブルの作り方について質問します。 伝票フォームを作り「取引先コード」「商品区分コード」「商品コード」3項目を入力したら単価が表示されるようにしたいのですが、うまくいきません。 (同じ商品でも取引先により単価が違うので、3つの情報がそろったときにはこの単価になるという形にしたいのです) 現状は「商品区分テーブルの区分コード」と「商品マスターテーブルの区分コード」  「商品マスターテーブルの商品コード」と「単価テーブルの商品コード」をそれぞれ1対多リレーションし、 そして「単価テーブルの単価コード.商品コード取引先コード,単価」で選択クエリを作り、それを伝票のサブフォームにしてみたのですが、商品コードが入力できませんでした・・・ 何冊か本を参考にして作ってみたのですがうまく出来ませんでした お分かりになる方がいらっしゃいましたら教えてくださいよろしくお願いいたします。

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

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

  • 商品番号を入力すると、商品名フィールドに自動で名前が出てくるようにしたいのですが・・・

     (ソフトはアクセスです)商品マスターのテーブルに商品のデータ(商品番号や単価など)を入力しておいて、売上明細(テーブルやフォーム)を入力する時に、商品番号を入力すると、商品名に自動で名前が出てくるようなシステム(?)をつくりたいのです。エクセルのVLOOKUP関数のような感じの。  自分なりにいろいろ試してみたのですが・・・。テーブルで設定するのですか?それともクエリー?リレーションはどのようにすればよいのでしょうか?詳しく教えていただけないでしょうか?よろしくお願いします。

  • Access マスターテーブル

    Accessについて。 テーブル1がID(主キー)、注文日、商品番号、納期など入力欄の項目で、テーブル2が商品番号(主キー)、商品名で商品のマスターテーブルになっています。 商品番号を入力すれば商品名が表示されるようにクエリを作成し、そのクエリからフォームを作っています。 ここまでは良いのですが、新しい商品番号を入力したときに限りフォームから商品名も入力する事でマスターテーブルに登録されるようにしたいのですが、どうすれば良いでしょうか?

  • Access アクセスについて

    Accessでデータベースを作っています。 テーブル、クエリは下記のようになっており、リレーションシップで紐付けしてあります。 クエリからフォームを作成し、商品番号を入力することでマスタテーブルに登録されていれば自動で商品名等の情報が表示されるようになっています。(フォーム1) 商品番号を入力しカーソルが移動した時、マスタテーブルに該当する項目がなかった場合、マスタテーブルから作成した新規追加用のフォームが表示されるようになっています。(サブフォームではありません) 新規追加用フォームに商品名を入力し、閉じてもフォーム1の商品名の欄に反映されません。新規追加用フォームを閉じる時にVBAで”Requery”,”Refresh”もやってみましたがダメでした。商品番号を入力し直すと表示されます。 どうすれば自動で商品名が表示されるようになるか教えてください。 テーブル1(入力用) 1.ID(主キー) 2.商品番号 3.etc. テーブル2(マスタテーブル) 1.商品番号(主キー) 2.商品名 3.etc. クエリ 1.ID(テーブル1) 2.商品番号(テーブル1) 3.商品名(テーブル2) 4.etc.(テーブル2) 5.etc.(テーブル1)