• ベストアンサー

フォームの計算結果をテーブルへ

koutakaの回答

  • koutaka
  • ベストアンサー率47% (18/38)
回答No.3

>クエリーは更新クエリーなのですが、入力したデータだけでなく >既に更新してある物まで計算しちゃうんです。 >データ量が少ない時はいいのですが増えてくると時間がかかりそうで。。。 ■リアルタイム処理 まず、テーブルに計算結果をテーブルに保存するかを検討してください。 保存する必要があれば、リアルタイム処理にしてはどうでしょうか?フォームを開いた時に計算しているようなので、入力時に"No.2 boya"さんが言うようにデータ入力後、値を計算すればいいでしょう。 ※この方法だと、すでに更新してあるデータを更新しないで済むでしょう。 ■作業時にしか計算ができない場合 またどうしても、フォームを開いた時に行わなければならない必要があるとき(現在時刻を元に計算など)の場合、計算結果をデータに保存する必要がなければ、フォーム上で[テキストボックス]等を作成して[コントロールソース]に計算式を入力すれば問題はないと思います。

関連するQ&A

  • クエリの計算結果をテーブルに格納するには?

    Windows NTでAccess2000を使っています。 クエリで関数の計算をさせてフォームで必要な数字を打ち込むと 計算結果が表示されるところまでは確認できましたが その値をテーブルに収めることはできないのでしょうか? 計算させたクエリからテーブルを作るというやり方もありますが それはもうひと手間ということになるので出来れば避けたいのです。 よろしくお願いします。

  • Accessのフォームでデータを入力すると、テーブルと一致するデータをあるフィールドに代入してしまうことは可能ですか?

    本来のAccessの使い方ではないかもしれませんが・・・。 あるフォームで品番を入力すると、品番マスターなるテーブルから値を 検索して一致したフィールド(品名・数量)の値を直接フォームの フィールドに代入してしまうことは可能ですか? マクロの値の代入というものを使ってもうまくいきません。 また、クエリーを使えば、品番を入力すれば品名・数量が出るように することはできるのですが表示上だけですので、フォームに直接値 が入力されるようにしたいのです。 方法がうまく思いつきません。どうかお知恵をお貸しください!!

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

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

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

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

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

  • フォームのテキストコントロールに代入された計算式を計算したい

    VB.Netのイベントで、フォームのテキストコントロールに代入された計算式を計算したいのです。 (String変数に代入された値でも構いません) 計算式.textに "3*4+5"等の計算式が代入されているとします。 これを計算して結果を変数に代入させたいのですが、Textになっているので、どうすればよいか分かりません。 よい方法を教えて下さい。

  • access フォーム上で複数行のレコードを追加したい。

    宜しくお願いします。 仕様環境:WinXP access2002 フォーム上にコマンドボタンで空白のレコードを 追加したいのですが、一行だけなら「値の代入」マクロで 追加できるのですが、複数行だとやり方がわかりません。 「追加クエリ」を作ってコマンドボタンにマクロで乗せてみたのですが、 テーブル上では複数の空白レコードが追加されてますが、 フォーム上には反映してくれません。 「値の代入」マクロを使って、複数行のレコードをフォーム上に追加するか、 「追加クエリ」を使って、複数行のレコードをフォーム上に反映させるか したいのですが教えてください。 ※ ちなみにこのフォームはサブフォームです。   また5行追加しようとしています。   この方法では無理でしたらご指導お願いします。 宜しくお願いします。

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

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

  • テーブル間のデータ計算

    データベースの初心者です(初心者以下かも) 当方クエリーで置き換えや抽出くらいしか使用したことがありません Acces2000かSQL2000でのテーブル間の計算について質問があります 商品テーブル コード,商品名,定価 001, ジュース,126 002, お菓子 ,105 003, みかん ,84 004, りんご ,73 売価テーブル コード,区分,売価 001, 1, 70 001, 2, 0 002, 1, 60 002, 2, 0 003, 1, 50 003, 2, 0 004, 1, 40 004, 2, 0 上記のような2つのテーブルのデータで 商品テーブルの定価から0.85を掛けて小数点以下を切り上げた結果を 売価テーブルの同じコードの区分1の売価フィールドに上書きする場合どのような 方法になるのでしょうか? ■希望結果 売価テーブル コード,区分,売価 001, 1, 108 001, 2, 0 002, 1, 90 002, 2, 0 003, 1, 72 003, 2, 0 004, 1, 37 004, 2, 0 Acces2000のクエリーでどうやってやるのでしょうか? よろしくお願いします

  • 50個分のクエリとフォームを作らないといけないのか!?

    50個分のクエリとフォームを作らないといけないのか!? 素人が見よう見まねで作っていますので、分かり難いかと思いますが、 何卒よろしくお願い致します。 現在、フォーム(検索)があり、そこに非連結コンボボックス(テキスト1)が あります。このコンボボックスは、テーブル(取引先)の値(会社名)を参照して います。会社名は約200あります。 テーブル(取引先)のフィールドは会社名、フリガナ、五十音別です。 今迄は、マウス操作で会社名を選んでいました。今度、タッチパネルLCDを 使う事になったのですが、コンボボックスでは、文字は大きく出来ても、 コンボボックスの枠やスクロールバーの幅を大きく出来ず、うまくタッチ パネルでの操作ができません。 そこで、新たにフォーム(五十音)を作り、五十音分(あ~ん)のコマンドボタン を作り、コマンドボタン”あ”を押すとクエリ”あ”で、テーブル(取引先)の 五十音別が”あ”の会社だけ抽出させ、結果をフォーム(あ)に表形式で表示 させました。 さらに、マクロ(値の代入)で、フォーム(検索)のコンボボックス改めテキスト ボックス(テキスト1)に会社名を代入させました。 回りくどい事だと思いますが、これで、マウスで選ぶのと同じ事が出来ました。 しかし、この方法だと、クエリとクエリの結果を表示させるフォームが、それ ぞれ50づつ必要になってしまいます。 50づつ作ってもいいのですが、きっと他にもっと簡単で明解な方法があると 思うのですが、素人ゆえ、全く見当がつきません。 簡単な方法がありましたら、ご教授のほど宜しくお願い致します。 なお、わがままを言って申し訳ありませんが、コンボボックスの枠を大きくした りではなく、コマンドボタンを使う方法でお願い致します。