![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
No.4ベストアンサー
- 回答日時:
同じレコードの他のフィールドの値から計算で求められるようなものは
テーブルには格納しません(格納してはいけません)
難しい言葉で言えば正規化規則に違反しているといいます
A、B、A+Bというフィールド構成にし
なんらかの方法でAとBを入力したときにA+Bに値が入るようにしたとしても
後でAの値を変更したときにA+Bの値を正しく保つためには
非常にややこしい仕組みなり規則なりを設けないといけなくなります
そんな事をしなくとも、テーブルにはAとBだけを格納しておき
A+Bを見たいときにはクエリで表示するようにしておけば
AやBをどのように変更しても何時も正しい値が表示されます
テーブルにはAとBだけを格納するようにしておき
入力フォームで入力時にA+Bの値を確認のために表示したい
という時には、A+Bを式フィールドとして持つクエリを入力フォームのソースにします
非連結のテキストボックスに式を入れておいて表示させるという手段は
単票フォームのときにしか使えませんが、クエリをソースとする方法は
単票・帳票両方のフォームに使えます
ありがとうございます。
見たいものをすべて格納しておくという発想がまずいんですね。
必要なものだけを残しておいて、あとはその都度表示させるということを
もう一度考え直してみます。
No.5
- 回答日時:
テーブルにはA・Bのフィールドは作りますが合計を保存するCのフィールドは通常ではテーブル上に持たないというのは他の方が書いてありますので・・。
>A(数値)、B(数値)を入力したらその合計値をCに
>Cはおなじフォーム上に単なる表示するだけのテキストボックスを配置して入力があるたびに計算し結果を表示させたい
Bのコントロールの更新後処理などで演算する方法とか方法は色々ありますが簡単にやるには
フォームに配置したテキストボックスのプロパティを開きコントロールソースに
=[A]+[B]
とすれば表示してくれます。
#4の方が「非連結のテキストボックスに式を入れておいて表示させるという手段は単票フォームのときにしか使えませんが・・」とありますが帳票フォームでもデータシート型でも使えます。テキスト表示の様になってしまう場合は文字配置で右に設定すればOKです。
必要なデータしかDBの残さない ということがよく
判りました。
見たいものすべてを予め作っておく必要はないのですね。
もう一度考え直してみます。
ありがとうございました。
No.3
- 回答日時:
普通、計算で求められるデータはDBに格納しません。
> 補足の質問ですが、フォームでAとBを入力するとして
> C列はおなじフォーム上に単なる表示するだけのラベルか
> テキストボックスを配置して、入力があるたびに計算し、
> 結果を表示させたいと思っているわけです。
ということであれば
フォームにテキストボックスを追加し、
コントロールソースを
=A+B
とすることで実現できます。
No.2
- 回答日時:
#1です
> 補足の質問ですが、フォームでAとBを入力するとして
> C列はおなじフォーム上に単なる表示するだけのラベルか
> テキストボックスを配置して、入力があるたびに計算し、
> 結果を表示させたいと思っているわけです。
こういうことをやるのであれば、いちいちDBを経由したりせず
AとBの入力イベント時に、計算とCの表示処理を行った方がいいと思いますが。
で、AとBの確定時にCも合わせてDBへ更新という形で。
この回答への補足
ありがとうございます。
でもいまいちよくわかっていなくて・・・(すみません)
>AとBの確定時にCも合わせてDBへ更新という形で
とは具体的にどうすればいいのいでしょう?
テーブルにはやはりABC3列要るんですよね。
No.1
- 回答日時:
UPDATE テーブル SET C = A + B
この一文で全行計算してくれます。
WHERE句を付ければ、行を限定することも可能です
この回答への補足
asahina02さん
早速の回答ありがとうございます。
補足の質問ですが、フォームでAとBを入力するとして
C列はおなじフォーム上に単なる表示するだけのラベルか
テキストボックスを配置して、入力があるたびに計算し、
結果を表示させたいと思っているわけです。
そういう結果を得るためにC列のテーブルデザインのところ
で、どういう記述をしたらいいのかなと思っています。
よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルでSUMIFS関数で条件範囲の部分が#valueになる。 4 2023/04/28 12:42
- Excel(エクセル) エクセル 計算式を教えてください 3 2022/10/19 08:58
- Excel(エクセル) マクロだと数式が表示される 2 2022/09/10 14:48
- Excel(エクセル) VBA SUM関数を入力したい 6 2022/08/20 20:10
- C言語・C++・C# C#テキストボックスの文字を配列にいれてその後表示する 4 2022/07/17 04:47
- Visual Basic(VBA) Excel のユーザー定義関数でソルバーが動作しない 1 2022/09/05 19:51
- Excel(エクセル) エクセル 自動計算 1 2023/01/30 13:28
- Excel(エクセル) エクセルでIF関数中にIFERROR関数を使いたいのですが???? 5 2022/04/08 13:24
- Excel(エクセル) Excelで関数を使って入力した値を、関数を抜いた値として扱いたい 1 2022/07/08 02:10
- Visual Basic(VBA) ACCESS DAO で不要なテーブルのフィールド(列)の削除 4 2022/06/23 12:13
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ACCESSのフォームからデータの...
-
アクセスでテーブルの変更内容...
-
Accessのフォーム上にレコード...
-
アクセスのフォームのビューが...
-
Access 別フォームへの再クエ...
-
dlookup関数が使えない
-
選択したチェックボックスのみ...
-
accessの自動更新処理をできな...
-
Accessのフォームで作業領域を...
-
Accessフォームのテキストボッ...
-
アクセス 0以外をカウントす...
-
写真入りデータベースの作成
-
テキストボックスの値をテーブ...
-
ACCESSのフォームの作り...
-
Access2002 フォームを閉じるた...
-
Access:サブフォームにクエリ...
-
Access フォームやレポートを作...
-
ACCESSで議事録を作りたいので...
-
アクセスでのチェックリスト
-
Access2003で顧客とのやりとり...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessのフォーム上にレコード...
-
ACCESSのフォームからデータの...
-
アクセスのフォームのビューが...
-
選択したチェックボックスのみ...
-
アクセスでテーブルの変更内容...
-
accessの自動更新処理をできな...
-
Access 別フォームへの再クエ...
-
アクセスでの項目追加について...
-
Accessフォームのテキストボッ...
-
ACCESSで入力フォームをHTMLフ...
-
Access2002 フォームを閉じるた...
-
Access フォーム上でコンボボッ...
-
「メソッドまたはデータメンバ...
-
ADOでRecordsetオブジェクトを...
-
テキストボックス(アクセス)内...
-
Accessのフォームで作業領域を...
-
Accessのフォームに表示...
-
アクセス 0以外をカウントす...
-
テキストボックスの値をテーブ...
-
ACCESSで、フォームのレコード...
おすすめ情報