• ベストアンサー

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

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

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

  • ベストアンサー
  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.1

基本的に計算で求められるものはテーブルには含めません。 したがって、今のままで宜しいかと思います。 (そのフィールドは削除) どうしても入れたい場合には・・・ テーブルに「利益」フィールドが有るとして フォームに「利益」というテキストボックスが有り コントロールソースに =IIf(IsNull([売却価格])=True,"",[売却価格]-[購入価格]-[手数料]) とでもしてあるのでは? この場合テーブルの「利益」フィールドとフォームの「利益」テキストボックスは 「縁もゆかりも無い」(コントロールソースがテーブルの「利益」では無い)ので テーブルのフィールドにデータが収まることはありません。 VBAになりますが、フォームに「利益」テキストボックスを置き コントロールソースに、テーブルの「利益」とします。 [売却価格]・[購入価格]・[手数料] それぞれの更新後処理に Me!利益 =IIf(IsNull([売却価格])=True,"",[売却価格]-[購入価格]-[手数料]) とでもすればお望みの結果になるかと思いますが、 基本は冒頭で述べたとおりです。

関連するQ&A

  • 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は初心者も同然ですのでわかりやすく解説して戴ければ幸いです。 よろしくご教授ください。

  • アクセスでフォームに入力した計算式がテーブルに反映する方法

    アクセス2000テーブルからフォームをつくり、このファームに計算式を定義しました。このフォームに入力する分には計算式が機能するのですが、テーブルには計算結果が反映しません(数値が0になってしまいます)。 どうしたらテーブルに反映できるのでしょうか。

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

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

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

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

  • accessでフォーム上での計算結果をテーブルに反映するには?

    教えていただきたいのですが、アクセス2000で、フォーム上に「業者コード」を入力すると、別テーブル「T_業者」より業者名、業者電話番号、業者住所、業者FAX番号がフォーム上の非連結オブジェクトに表示されるようにDLOOKUP関数を使っています。この非連結オブジェクトの業者名~業者FAXを基礎テーブルの同じ項目に保存することは出来ますか?またDLOOKUP関数をクエリー上で使用することが出来ますか?

  • Access フォーム上で計算する方法とそれをテーブルに反映させる方法を教えてください。

    こんばんは。色々試したのですが、わかりませんでしたので質問します。 Accessのフォーム上で計算する方法とそれをテーブルに反映させる方法を教えてください。 サブフォーム入りのサブフォームの中の、「売上」と「原価」を入力すると自動的に「原価率」が表示させ、その「原価率」をテーブルに反映させたいのですが、どうしたらよいのでしょうか。 途中まで考えたのは、選択クエリ上で計算させて、それをフォームにしたら表示のみは出来たのですが、テーブルに反映させる方法までたどりつきませんでした。 どうぞ宜しくお願い致します。

  • Accessで式の計算結果がテーブルに反映されない。

    計算結果を表すテキストボックスのコントロールソースに式を書き込みました。フォーム上では、計算されてでてきたのですが、その数値がテーブル上では現れてこないのです。テーブルでも同じ式を入れる必要があるのでしょうか?

  • Access2000 フォームで計算したものをテーブルに反映するには?

    上司に頼まれ、Access2000で従業員データを作成しました。 そこで、フォームにおいて年齢を計算するために 「生年月日」を入力する欄と、「年齢」を表示する欄を作成して コントロールソースにも入れて、うまく表示できたのですが、 その年齢の数字が、テーブルやクエリで見ると表示されていません。 他の何かのデータを見た時にはできていたはず。。。 表示する為の手順が足りないのでしょうが、初心者ゆえにまったくしてわかりません、教えて下さい。 どうかよろしくお願いいたします。

  • Accessのフォームとテーブルについて教えてください。

    Access2003を使用しています。 既存のフォームAにフィールド3個を増やしました。 フォームAはテーブル(1)と連動していました。 追加したフィールドはテーブル(6)のものです。 ところがフォーム上で追加フィールドに入力が出来なくなりました。3フィールドのうち、ひとつはコンボボックスです。表示はされますが確定ができません。 フォームAのSQLステートメントではテーブル(1)・(6)以外にテーブル(2)・(3)・(4)・(5)が結合されています。 フォームAからするとテーブル(2)・(3)・(4)・(5)のデータはIDの名称を見るための参照用です。 テーブル(6)は、追加フィールドのコンボボックスが参照用で、他の2追加フィールドは、フォームから入力してテーブル(6)に反映させたいものです。 テーブル(6)の画面では入力できます。 フォーム上からは入力できません。 設定が何か欠けているからでしょうか? 他の質問では2つのテーブルをひとつのフォームにする場合は、クエリを別に設けた方がいいとなっています。フォームが出来上がっているので、できればクエリを設けずに行いたいのですが、よくない方法でしょうか? 手順なども踏まえて教えていただけると助かります。 よろしくお願いいたします。

  • Access フォームからの入力結果をテーブルにすることはできない?

    Access フォームからの入力結果をテーブルにすることはできない? 使用しているのはWindows XP、Access 2003です。 とある調査結果をデータベース化する仕事を与えられています。 データ1件あたりの構成要素を一目で見れるようにするために「こういうレイアウトのフォームを作って」と上司からリクエストが出ています。 まず、今手元に集まっているデータについては、 Excelで一覧表作成 → Accessにインポートしてテーブル作成 → オートフォームでフォーム作成し、デザインビューでレイアウト変更 というふうにして、上司から言われたフォームは作りました。 今後、データは増えていくので、作ったフォームから新たにデータの追加をしていくことになるのですが・・・。 フォームからデータを追加しても、元となったテーブルにはリンクしませんよね? とすると、データを追加した結果をテーブルにしたい場合はどうしたらいいのでしょうか? 今度は、そこからクエリを組む必要も出てくるため、テーブルにしたいのですが・・・。 Accessについては、以前勤めていた会社の研修で習っただけで詳しい使い方をずいぶん忘れてしまっています。今回、自分なりにいろいろ調べてはみたのですが、よくわかりませんでした。 もしかしたら、Accessの使い方を基本的に間違っているでしょうか・・・ よろしくお願いします。

専門家に質問してみよう