プロが教えるわが家の防犯対策術!

アクセスで身長、体重、標準体重、肥満度、BMIを算出したいのですが、どこに計算式を入力したらよいのか解りません。EXCELなら簡単にできますが、入力フォームを作って誰でも簡単に入力できるようにしたいのでアクセスで作成したいと考えています。計算式の入力の仕方(場所)を教えてください。よろしくお願いします。。。

A 回答 (5件)

Alt + F11 で VBE のウィンドウを開き、メニュー → 挿入 → 標準モジュール


で下記のコードを標準モジュールに挿入します。
フォームのコントロール名がそれぞれ
身長、体重、標準体重、肥満度、BMI とすると
例えば肥満度でしたら
そのコントロールソースに
=debu([身長],[体重]) とすれば良いと思います

Function DEBU(Height As Variant, Weight As Variant) As Variant の引数
Height に「身長」コントロールの値が
Weight には「体重」コントロールの値が入ります。

この下からコピペ

'標準体重=身長(m)の2乗×22、
Function standardWeight(Height As Variant) As Double
On Error GoTo err
standardWeight = (Nz(Height, 0) / 100) ^ 2 * 22
'小数第二位で四捨五入
standardWeight = Int(standardWeight * 10 + 0.5) / 10
Exit Function

err:
standardWeight = -999
End Function

'肥満度(%)=体重/標準体重×100-100、
Function DEBU(Height As Variant, Weight As Variant) As Double
On Error GoTo err

DEBU = Weight / ((Height / 100) ^ 2 * 22) * 100 - 100
DEBU = Fix(DEBU * 10 + 0.5) / 10
'DEBU = Int(DEBU * 10 + 0.5) / 10
Exit Function

err:
DEBU = -999
End Function

'BMI=体重/身長(m)の2乗です。
'入力は体重と身長のみで、身長の単位はcmで入力したいと思っています。
Function BMI(Height As Variant, Weight As Variant) As Double
On Error GoTo err

BMI = Weight / (Height / 100) ^ 2
BMI = Int(BMI * 10 + 0.5) / 10
Exit Function

err:
BMI = -999
End Function
    • good
    • 0
この回答へのお礼

ありがとうございました。うまくできました。またよろしくお願いします。

お礼日時:2006/06/25 23:41

簡単に作るには、


テキストボックス
[身長],[体重],[標準体重],[肥満度],[BMI]
を作成し、
コマンドボタン「計算」を作成し、押下したときのイベントにそれぞれ計算をして表示させるというのがよいと思います。

例としては

Private Sub 計算_Click()
Me.BMI.Value =me.体重.value/(me.身長.value)^2
・・・・・・
me.refresh
End Sub

もしくは計算した値をメッセージボックスで表示させるとか、

身長、体重に数値が正しい単位で入力されていることを入力時、もしくは計算時にチェックしなければなりません。
    • good
    • 1
この回答へのお礼

ありがとうございました。またよろしくお願いします。

お礼日時:2006/06/25 23:42

履歴管理をしなくてよいなら、



フォーム上にテキストボックスをいくつか配置して、身長、体重が入力されたときに標準体重、肥満度などを計算させて表示させるのが(VBAで書くのが)手っ取り早いと思います。 

標準体重は計算で出しているものですか? それとも、年齢、性別などでテーブルなどを参照しているのでしょうか? 

履歴管理をするならば、テーブルをいくつか作る必要があります。 一般的に使いやすくするためには、感受性のケースでは患者データをフォームに呼び込むためには患者IDを入力した際に、VBAなどでテーブルを検索して該当データをフォームに呼び込んでいした。 

この回答への補足

履歴管理はしません。単純に体重と身長を入力したら、計算で標準体重、肥満度、BMIが表示されるようにしたいです。入力は身長(cm)、体重(Kg)のみで、計算式は、標準体重=身長(m)の2乗×22、肥満度(%)=体重/標準体重×100-100、BMI=体重/身長(m)の2乗です。

補足日時:2006/06/22 13:28
    • good
    • 0

私なら標準モジュールに自前の関数を作成して


クエリ・フォーム・レポートで呼び出すようにします
これなら不都合が有った場合でも一箇所(関数)を変更すれば良いので
最初は戸惑うかもしれませんが長期的にはメンテナンスがし易いかと
思います。

標準体重、肥満度、BMI の求め方の公式?が分からないので・・
(BMIってなに?)
ここまでにいたします。

この回答への補足

ありがとうございます。標準体重=身長(m)の2乗×22、肥満度(%)=体重/標準体重×100-100、BMI=体重/身長(m)の2乗です。ちなみに入力は体重と身長のみで、身長の単位はcmで入力したいと思っています。よろしくお願いします。

補足日時:2006/06/22 13:41
    • good
    • 0
この回答へのお礼

ありがとうございました。またよろしくお願いします。

お礼日時:2006/06/25 23:42

たとえば



[テキスト0]と[テキスト1]というテキストボックスがあって[テキスト2]というテキストボックスに合計を出すとしたら[テキスト2]のプロパティのコントロールソースに=[テキスト0]+[テキスト1]とか書きますね。

コレが一番エクセル的かも。

でも、アクセスの場合、VBAを使う方がわかりやすいかも。

また、データはテーブルに置くと思うのですがそのデータをどういう方法でフォームに表示させるか、そのあたりも気になりますね。連結フォームなのか非連結フォームなのか。

とりあえず、そんなとこですが、他にも計算方法はあります。

この回答への補足

履歴管理はしないので、非連結フォームのつもりです。

補足日時:2006/06/22 13:44
    • good
    • 0
この回答へのお礼

ありがとうございました。またよろしくお願いします。

お礼日時:2006/06/25 23:43

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!