• ベストアンサー

ACCESSのテーブルとフォーム

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

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

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

ACCESS97を使っていますが同じだと思うので参考になればと思い投稿します。 フォームのテキストボックス「合計金額」のプロパティ「フォーカス取得時」にイベントプロシージャで以下のように記述します。 Me!合計金額 = Me!商品金額+Me!送料+Me!消費税 これでデータベースに登録されます。

sasukee
質問者

お礼

有難う御座います。やっとモヤモヤが解けました。本当に有難う御座いました。応用が利かないというのもあり、更にイベントプロシージャの構文を触るのは実は未経験なんです。すみません。こんなに簡単な構文でokだったという事でこれから先、気持ちを軽くして頑張っていけそうです。そして今後もまた質問を投稿させて戴く事がありますので、その時にはまた是非ご回答の程よろしくお願い致します。

すると、全ての回答が全文表示されます。

その他の回答 (3)

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

#3の追加です 「合計金額」のコントロールソースに「商品金額」・「送料」・「消費税」の合計を計算してくださいというような設定をして・・・ とありますが、フォームの「合計金額」のコントロールソースは、テーブルの「合計金額」を指定してください。

すると、全ての回答が全文表示されます。
  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.2

フォーム上で演算したものはそのままではテーブルに保存できません。 フォーム上で計算され表示されているだけなので・・。 簡単な解決策としてはフォーム上に[保存]ボタン(コマンド1とします)を 作ってフォーム上の合計金額のフィールドを合計金額1として、そのボタン をクリックした時にイベントを発生させるようにすれば良いと思います。 イベントプロシジャに下記のように記述してみてください。 Private Sub コマンド1_Click() On Error GoTo Err_コマンド1_Click   Me!合計金額 = Me!合計金額1 Exit_コマンド1_Click:   Exit Sub Err_コマンド1_Click:  MsgBox Err.Description  Resume Exit_コマンド1_Click End Sub 簡単に書きましたがこれでボタンを押すとテーブルに合計金額が保存される はずです。 ちなみにヘルプを最初にインストしないでCDから起動とか最初に起動した時に インストールとかでACCESSをインストールしたんでしょ。 カスタマイズでヘルプをインストすればOKですよ。

すると、全ての回答が全文表示されます。
  • peso
  • ベストアンサー率41% (40/97)
回答No.1

>「商品金額」・「送料」・「消費税」の合計を計算してくださいというような設定 どのような設定をしたか良くわかりませんが、 「商品金額」・「送料」・「消費税」のそれぞれの更新後処理に 合計金額.Value = 商品金額.Value + 送料.Value + 消費税.Value というような式で一応合計は求められます。 テーブルにも格納できるはずです。

すると、全ての回答が全文表示されます。

関連するQ&A

専門家に質問してみよう