
テーブルで、A・B・Cのフィールドがあります。
C=A/(B/100)^2
という式があります。
この場合、更新クエリを使ってCのフィールドに値を入れるしかないのでしょうか。
もともとあるテーブルを元にフォームを作成しました。
このフォームを使って、AとBを入力すれば自動的にCに値が入る、という事をイメージしていたのですが行き詰っています。
式ビルダは使用してみたのですが、データが反映されません。
元のテーブルCフィールドには式はなく、ただ数値があるだけです…。
どんな作業が足りないのでしょうか。
もしくは別な方法がよいのでしょうか。
よろしくお願いします。
No.4
- 回答日時:
通常は演算結果をテーブルに保存する必要は他の方がいうように必要ありません。
しかしテーブルに保存したいというのであれば>フォームを使って、AとBを入力すれば自動的にCに値が入る
簡単にやるには
そのフォームの演算結果が表示されるテキストボックスをCではなくべつの名前にします。例えばC1
C1に演算する式をいれます。AとBに入力するとC1に演算結果が表示されるようにしておきます。
フォームにレコードの保存ボタンを作り下記を追加します。
Me![C] = Me![C1] これでテーブルのCというフィールドにC1の値を保存できます。
保存ボタン(例Cmd1)を作ると下記のイベントが書かれます。そのイベントに1行追加でOKです。
Private Sub Cmd1_Click()
On Error GoTo Err_Cmd1_Click
Me![C] = Me![C1] 'この部分を追加
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
Exit_Cmd1_Click:
Exit Sub
Err_Cmd1_Click:
MsgBox Err.Description
Resume Exit_Cmd1_Click
End Sub
これで保存できます。フォーム上のTextBoxをCではなくC1にするのはMe![C] = Me![C]ではエラーが出てしまうので別の名前C1にしておきC1をCに保存させるようにしてエラーを回避するためです。
フォームを閉じるボタンを作っても同様に記述すれば出来ます。
回答ありがとうございました。
フォームに入力した数値をテーブルに保存することができました。
とても参考になりました!先に進めそうです。
No.3
- 回答日時:
基本的には、計算で求めることができるものは、テーブルに持つ必要がありません。
必要なときに、クエリ等で計算させればいいので。
どうしても、お望みのことを実現したいのなら、マクロなりVBAなりを
使う必要があります。
マクロなら、値の代入アクション。
VBAなら代入式を使ってください。
回答ありがとうございました。
マクロやVBAが使えるといろいろ方法が出てきますね。
今はまだ理解できていないのですが、少しずつ勉強していこうと思います。
No.2
- 回答日時:
テーブルはAとBのみとして、新規にクエリーを作成してはいかがですか?
新規作成するクエリーで、AとBはそのまま表示し、Cという項目名で、A/(B/100)^2の計算結果を表示させます。
こうすれば、既に作成済みのフォームでもデータテーブル名を変更するだけで済みます。
テーブルは値を格納する器ですから、動的に値が変化するような計算式の定義は無理ではないかと思います。
回答ありがとうございました。
クエリーでも作成してみました。
テーブルやクエリーの役割についてもまだまだ勉強不足です。
参考書片手にがんばろうと思います~。
No.1
- 回答日時:
フォームで良いならフィールドA及びBの更新後イベントに
C=A/(B/100)^2
を設定すれば変更できます。
この回答への補足
プロパティのデータ、コントロールソースに式を入れたら、行いたい作業は進めることができました!
まだまだ知識が足りないのでいろいろ調べてみます。
ありがとうございました。
回答ありがとうございます。
更新後イベントというと、イベントプロシージャを利用するのでしょうか。
用語すらよくわかっていない状況で申し訳ありません…。
ヘルプ読みながら進めてみます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
Accessのテーブルのフィールドに式を入れる方法
Access(アクセス)
-
ACCESSで空白のデーターをクエリで判定/識別する方法を教えてくださ
Access(アクセス)
-
クエリの計算結果をテーブルに格納するには?
Access(アクセス)
-
-
4
AccessのフォームのテキストボックスにLOOKUPで表示したい
Access(アクセス)
-
5
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
6
access2013 フォームで計算した値をテーブルに代入したい
Access(アクセス)
-
7
【Access】フォームで自動計算した年齢をテーブルに表示
その他(データベース)
-
8
「フォームを作成できませんでした」
Access(アクセス)
-
9
accessでの文字列の混ざった連番処理について
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
首吊りどこ締めるの
-
検便についてです。 便は取れた...
-
Excel 数値の前の「 ' 」を一括...
-
病院側から早く来てくださいと...
-
VLOOKUP関数を使用時、検索する...
-
小数点以下を繰り上げたものを...
-
リンク先のファイルを開かなく...
-
エクセルで空白セルを含む列の...
-
値が入っているときだけ計算結...
-
勃起する時って痛いんですか? ...
-
MIN関数で空白セルを無視したい...
-
彼女のことが好きすぎて彼女の...
-
2つの数値のうち、数値が小さい...
-
レインボーシックスシージをし...
-
エクセルのラベルの値(文字列...
-
腕を見たら黄色くなってる部分...
-
エクセルで数式の答えを数値と...
-
検便を取ったのですが、棒から...
-
値が入っている一番右のセル位...
-
増減表のプラスマイナスの符号...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
首吊りどこ締めるの
-
検便についてです。 便は取れた...
-
値が入っているときだけ計算結...
-
彼女のことが好きすぎて彼女の...
-
尿検査前日に自慰行為した時の...
-
VLOOKUP関数を使用時、検索する...
-
Excel 数値の前の「 ' 」を一括...
-
精液の落とし方を教えてください
-
【Excelで「正弦波」のグラフを...
-
2つの数値のうち、数値が小さい...
-
風俗店へ行く前のご飯
-
精子に血が・・・
-
リンク先のファイルを開かなく...
-
小数点以下を繰り上げたものを...
-
EXCELで条件付き書式で空白セル...
-
イタリアから帰国する際、肉製...
-
excelでsin二乗のやり方を教え...
-
腕を見たら黄色くなってる部分...
-
病院側から早く来てくださいと...
-
ワードのページ番号をもっと下...
おすすめ情報