• ベストアンサー

フォームの計算がテーブルに反映するには?

Windows2000/ACCESS2000を使用してます。 フォームで自動的に合計や消費税が計算されるように設定しましたが、保存されたテーブルを見てみると合計や消費税は空白になっていて計算された値が入力されてませんでした。 フォームでの計算式は以下のように設定しました。 合計のフィールドを選んで、プロパティを開きその中のデータタブのコントロールソースに式ビルダーで、 =A+B と設定しました。フォーム上では計算されるの ですが・・・ どのようにしたらテーブルに計算された値が表示されるのでしょうか? 宜しくお願いします。

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

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

no.1のものです。 No.3のお礼に対しての回答です。 フォームの計算させている名前は別のものにして下さい。 そして、フォームで計算させているところと、テーブルの方で 入力させたいところの書式は同じものにしてください。 実際にやってみた結果です。 テーブル:テーブル1 a[数値] b[数値] kotae[数値] フォーム:テーブル1 a b kotae2[数値] (計算式は  =[a]+[b]) フォーム上につくったボタンのコード Private Sub コマンド6_Click() Me![kotae] = Me![kotae2] End Sub です。 試してみてください。

renault
質問者

お礼

無事設定できました。有難うございました。 まだまだ分からない事だらけですが、頑張って設定したいと思います。

その他の回答 (3)

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

フォーム上のフィールドで計算しただけではテーブルに反映されません。 簡単な方法としてはフォームにボタンを作成しプロパティを選びクリック時のイベントプロシジャに Me![保存するテーブルのフィールド名]=Me![フォームの計算をするフィールド名]  と記述すればそのボタンを押せばテーブルに書き込まれますよ。 フォームを閉じるプロシジャと合わせてもOKです。

renault
質問者

補足

アドバイス有難うございます。 教えて頂いたように設定してみて、実際に保存されるか試してみたら、エラーメッセージで「このオブジェクトに値を代入することはできません」って出ました。 保存するテーブルのフィールド名とフォームの計算するフィールド名が同じなのがだめなのでしょうか? あと気になったことが、保存ボタンをクリックした時で設定したら、 Private Sub コマンド1_Click() On Error GoTo Err_ コマンド1_Click Me!小計=Me!小計 DoCmd,DoMenuItem,acFormBar,acRecordsMenu,acSaveRecords,,acMenuVer70 ↑のメッセージが入ってるのですがこれは何か設定しないといけないのでしょうか? このあとはExit_コマンド1~のメッセージが出ます。 お手数かけますが宜しくお願いします。

  • tutty2
  • ベストアンサー率53% (7/13)
回答No.2

同じことを以下のところ(データベース QNo.272451)で回答していますので参考にしてください。

参考URL:
http://www.okweb.ne.jp/kotaeru.php3?q=272451
  • KODAMAR
  • ベストアンサー率26% (267/1006)
回答No.1

テーブル上では計算はされないので、 更新クエリなどを使ってみてはいかがでしょうか?

関連するQ&A

  • ACCESSのテーブルとフォーム

    大変失礼ですが、いきなり質問です。よろしくお願いします。 テーブルに「受注データ」 フォームに「入力画面」というのを作ってあります。 そのフォームの一部に「商品金額」・「送料」・「消費税」・「合計金額」というテキストボックスがあります。それぞれのコントロールソースには単純にテーブルのデータを使うようにしてありますが・・・・・・「合計金額」のコントロールソースに「商品金額」・「送料」・「消費税」の合計を計算してくださいというような設定をしてしまったら、フォーム上ではしっかり計算をして表示してくれたのですが、テーブルの「合計金額」の列は空白になってしまいます。 テーブルの列が空白ではなく、フォームで表示されたその数値をテーブルの列に戻す?返す?という事を設定するにはどうしたら宜しいのでしょうか?是非ご教示下さいます様お願い申し上げます。ちなみにACCESS2000を使用しています。なぜかVBAの画面でヘルプを開こうとするとインストールされていないみたいで開かないんです。(←これ、余談です。すみません。)

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

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

  • Access2007 フォームでの計算結果をテーブルに反映させるには?

    ビスタでAccess2007を使っています あるテーブルにA~Dまでのフィールドが設定されています。 フォームでフィールドA.Bは手入力して C.Dには計算式を設定して計算結果を表示させていますがテーブルに反映されません。 (フォームにはきちんど式通りの答えが表示されますがテーブルのフィールドC.Dは空っぽです。) 例 A・・・10,000 B・・・0.1 C・・・1,000(計算式 A*B) D・・・9,000(計算式 A-C) フォーム上で行った計算結果をテーブルに入力反映させるにはどうすればよいでしょうか? テーブルやフォームの作り方が悪いのか? 計算式の設定が悪いのか? なぜテーブルに反映しないのか理由がわかりません。 そもそもフォーム上での計算はテーブルには反映しないのか? だとすれば反映させるにはどうすればよいのでしょうか? テーブルのフィールドに計算式を設定することは出来るのでしょうか? 出来るとすればその方法は? 疑問だらけでどうすれば求める結果が得られるのかさっぱり解りません。 当方Access2007は初心者も同然ですのでわかりやすく解説して戴ければ幸いです。 よろしくご教授ください。

  • アクセスでフォームのデータ(計算結果)がテーブルに反映されない

    アクセス初心者です、教えて下さい。 うまく説明できないのですが、エクセルで作成した売上表をアクセスで作り直そうと試みているのですが…。 簡単に説明すると、フィールドA,B,Cと3つあって、フォーム上でCはAとBの合計(C=[A]+[B])としました。フォーム上ではA,Bに値を入力するだけでCに結果が表示されるのですが、それがテーブルのCに反映されません。テーブルに計算結果を表示させるにはどうしたらいいのでしょうか?

  • Access2003 フォームについて

    Access初心者です。ご存知の方がいらっしゃいましたら教えて下さい。 内税と外税の計算について 現在請求書を作成するmdbを制作しております。 メインフォームに「小計」、「消費税」、「合計」という項目があります。 それぞれの詳細は以下のとおり。 ●「小計」のコントロールソース→=[Q-請求明細 サブフォーム]!合計金額 ●「消費税」のコントロールソース→=[小計]*0.05 ●「合計」のコントロールソース→=[小計]+[消費税] 同じメインフォーム上に「内税」と「外税」というオプションボタンを配置して、 「内税」にチェックを付けた場合は、「消費税」が計算されない。 「外税」にチェックを付けた場合は、「消費税」が計算される。 このような仕様にしたいと思い作っているのですが、どのように作成すると良いか 分かりません。 ご存知の方がいらっしゃいましたら是非教えて下さい。 不足箇所がありましたら追記致します。

  • アクセスでの、フォームとテーブルの連動の方法を教えてください

    初歩の初歩だと思うのですが、教えてください。 アクセスで、テーブルのフィールドと全く同じ内容でフォームを作りました。(受講生情報の管理) その中で「性別番号」と「性別」があり、(「性別番号」と「性別」は、別にテーブルを作っています)フォーム上では「性別番号」に番号(男なら1、女なら2)を入力すると「性別」に自動で値が入るように設定できたのですが、テーブルに反映されません。(フォームの「性別」のプロパティのコントロールソースに”DLOOKUP~”を入力しました) テーブル上にも同じように反映させるには、どうすればよいのでしょうか。 同様の質問と思われるものを参考にいろいろとやってみたのですが、どうもうまくいかなくって・・・ よろしくお願いします。

  • アクセス2003でフォーム上の計算結果がテーブルに反映されない

    アクセス2003を使っているのですが、フォーム上で計算をして出た結果が、テーブル上に入力されていないのですが、何故でしょうか? フォーム上で、=IIf(IsNull([売却価格])=True,"",[売却価格]-[購入価格]-[手数料])と、計算式を立てて、利益を出しているのですが、フォーム上では、問題無く利益が出ているのですが、テーブル上に、計算結果の利益が入力されていないのですが、何故でしょうか? フォームとは別に、テーブル上でも、計算式を設定しないといけないのでしょうか?その場合は、どのような計算式になりますでしょうか?

  • access フィールドの数値を使って計算したい

    あるテーブル内に様々な数値をフィールドに入力して、それらの数値をフォームでルックアップを使用して計算したいのですが、accessはどうやら主キー(id)の数値(1、2、3…)を使って計算してしまいます。どのように設定すればよいのでしょうか。 テーブル1 id  フィールド1 1    5 2    10 3    15 4    20 フィールド1の数値をフォームにてルックアップで選んで計算したい(クエリ内の計算式に組み込みたい)。 よろしくお願いいたします。 access2010使用

  • Access内で計算

    Access2002を使用しています。 あるテーブルに「電話代」「宅急便代」「立て替え金計」という フィールドがあり、「立て替え金計」のフィールドには、自動的に 「電話代」「宅急便代」の合計が入るようにしたいです。 フォーム上でコントロールソースの式ビルドを使用すれば、合計は 表示されるのですが、テーブルには反映されません。テーブルに値を 反映させるにはどうすればよいでしょうか?

  • フォーム上で小計など自動計算するには・・・

    アクセス初心者です。 Windows2000で アクセス2000で作ってます。 現在、受注明細のフォームを作ってます。 フォーム上での合計や消費税が自動的に計算されるようにしたいのですが、サブフォームを使わずに設定出来るのでしょうか? その設定方法など教えて頂けたらと思います。 宜しくお願い致します。