- ベストアンサー
フォームの計算がテーブルに反映するには?
Windows2000/ACCESS2000を使用してます。 フォームで自動的に合計や消費税が計算されるように設定しましたが、保存されたテーブルを見てみると合計や消費税は空白になっていて計算された値が入力されてませんでした。 フォームでの計算式は以下のように設定しました。 合計のフィールドを選んで、プロパティを開きその中のデータタブのコントロールソースに式ビルダーで、 =A+B と設定しました。フォーム上では計算されるの ですが・・・ どのようにしたらテーブルに計算された値が表示されるのでしょうか? 宜しくお願いします。
- みんなの回答 (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 です。 試してみてください。
その他の回答 (3)
- O_cyan
- ベストアンサー率59% (745/1260)
フォーム上のフィールドで計算しただけではテーブルに反映されません。 簡単な方法としてはフォームにボタンを作成しプロパティを選びクリック時のイベントプロシジャに Me![保存するテーブルのフィールド名]=Me![フォームの計算をするフィールド名] と記述すればそのボタンを押せばテーブルに書き込まれますよ。 フォームを閉じるプロシジャと合わせてもOKです。
補足
アドバイス有難うございます。 教えて頂いたように設定してみて、実際に保存されるか試してみたら、エラーメッセージで「このオブジェクトに値を代入することはできません」って出ました。 保存するテーブルのフィールド名とフォームの計算するフィールド名が同じなのがだめなのでしょうか? あと気になったことが、保存ボタンをクリックした時で設定したら、 Private Sub コマンド1_Click() On Error GoTo Err_ コマンド1_Click Me!小計=Me!小計 DoCmd,DoMenuItem,acFormBar,acRecordsMenu,acSaveRecords,,acMenuVer70 ↑のメッセージが入ってるのですがこれは何か設定しないといけないのでしょうか? このあとはExit_コマンド1~のメッセージが出ます。 お手数かけますが宜しくお願いします。
- tutty2
- ベストアンサー率53% (7/13)
同じことを以下のところ(データベース QNo.272451)で回答していますので参考にしてください。
- KODAMAR
- ベストアンサー率26% (267/1006)
テーブル上では計算はされないので、 更新クエリなどを使ってみてはいかがでしょうか?
お礼
無事設定できました。有難うございました。 まだまだ分からない事だらけですが、頑張って設定したいと思います。