はじめに
前回は、Excelで作成した保育園用栄養計算プログラム内の料理献立メニュー(566個)を料理マスターテーブル(MS_ryouritable)と料理明細テーブル(MS_ryourimeisaitable)に移して、これらをAccessで利用できるようにVBAを利用して変換しました。
今回は、料理関係とは直接関係しませんが、健康を考える上では必要なBMI、理想体重、基礎代謝量、1日の総消費エネルギーなどを年齢、性別、身長、1日の活動量などを記入して、計算・表示させるフォームをAccessで作成して見たいと思います。
なお、私のパソコン環境やソフトのバージョンは以下の通りです。
パソコンOS : Windows10 Pro
Windowsバージョン : 21H1
Microsoft 365 Accessのバージョン 64ビット版: 2201
BMI(Body Mass Index)について
前の記事でも書いていますが身長と体重から計算されるBMI(体格指数)で人の肥満度を知ることができます。
計算式は、次の通りです。
人の肥満度は、日本肥満学会の基準によるとBMIにより次のように分類されています。(厚生労働省 生活習慣病予防のための健康情報サイトより引用)
BMI(kg/m2) | 判定 |
< 18.5 | 低体重 |
18.5 ≤ BMI < 25.0 | 普通体重 |
25.0 ≤ BMI < 30.0 | 肥満(1度) |
30.0 ≤ BMI < 35.0 | 肥満(2度) |
35.0 ≤ BMI < 40.0 | 肥満(3度) |
40.0 ≤ BMI | 肥満(4度) |
理想体重について
人が最も健康的に生活できる理想的な体重のことで、標準体重、適正体重などとも呼ばれ、色々な指標による方法がありますが、ここではBMIを用いた指標で表すと次の式となります。
基礎代謝量について
生命維持に必要な最低限の必要エネルギーを基礎代謝量と言います。
基礎代謝量の計算には、色々な式が提案されていますが、健康な日本人に対して比較的妥当性が認められている国立健康・栄養研究所の式(Ganpuleの式)をここでは採用します。
(0.0481 × 体重(kg) + 0.0234 × 身長(cm) - 0.0138 × 年齢 - 0.4235) × 1000 / 4.186
【女性】
(0.0481 × 体重(kg) + 0.0234 × 身長(cm) - 0.0138 × 年齢 - 0.9708) × 1000 / 4.186
一日の総消費カロリー(TDEE)について
活動レベル | 運動量 | 係数 |
レベル1 | ほぼ運動しない | 1.2 |
レベル2 | 軽い運動 | 1.375 |
レベル3 | 中程度の運動 | 1.55 |
レベル4 | 激しい運動 | 1.725 |
レベル5 | 非常に激しい | 1.9 |
BMI、理想体重、基礎代謝量、一日の総消費カロリーを計算・表示するフォームの作成
コマンドボタンへのVBAコードの割り当て
Private Sub 計算_Click()」の下に、次のVBAコードを書きます。
Private Sub 計 算_Click()
If IsNull(Me.年齢) = True Then
MsgBox "年齢を入力してください"
Me.年齢.SetFocus
Exit Sub
End If
Me.BMI = Round((Me.体重 / (Me.身長 / 100) / (Me.身長 / 100)), 1)
Select Case Me.BMI
Case Is < 18.5
Me.肥満度 = "低体重"
Case Is < 25
Me.肥満度 = "普通体重"
Case Is < 30
Me.肥満度 = "肥満(1度)"
Case Is < 35
Me.肥満度 = "肥満(2度)"
Case Is < 40
Me.肥満度 = "肥満(3度)"
Case Is >= 40
Me.肥満度 = "肥満(4度)"
End Select
Me.理想体重 = 22 * (Me.身長 / 100) * (Me.身長 / 100)
Me.理想体重 = Round(Me.理想体重, 1)
If Me.男女 = 1 Then
Me.基礎代謝量 = (0.0481 * Me.体重 + 0.0234 * Me.身長 - 0.0138 * Me.年齢 - 0.4235) * 1000 / 4.186
Me.基礎代謝量 = Round(Me.基礎代謝量, 0)
Else
Me.基礎代謝量 = (0.0481 * Me.体重 + 0.0234 * Me.身長 - 0.0138 * Me.年齢 - 0.9708) * 1000 / 4.186
Me.基礎代謝量 = Round(Me.基礎代謝量, 0)
End If
Select Case Me.活動レベル
Case Is = "ほぼ運動しない"
Me.総エネルギー = Round((Me.基礎代謝量 * 1.2), 0)
Case Is = "軽い運動"
Me.総エネルギー = Round((Me.基礎代謝量 * 1.375), 0)
Case Is = "中程度の運動"
Me.総エネルギー = Round((Me.基礎代謝量 * 1.55), 0)
Case Is = "激しい運動"
Me.総エネルギー = Round((Me.基礎代謝量 * 1.725), 0)
Case Is = "非常に激しい"
Me.総エネルギー = Round((Me.基礎代謝量 * 1.9), 0)
End Select
End Sub
私の年齢、体重、身長、性別、活動レベルを記入したフォームで「計算」ボタンをクリックした際の画面を下図に示します。
同様にして「クリア」コマンドボタンについても、次のようなVBAコードを貼り付けて下さい。
Private Sub クリア_Click()
Me.年齢 = Null
Me.体重 = Null
Me.身長 = Null
Me.BMI = Null
Me.肥満度 = ""
Me.理想体重 = Null
Me.基礎代謝量 = Null
Me.活動レベル = ""
Me.総エネルギー = Null
End Sub
おわりに
如何だったでしょうか?
BMI(Body Mass Index)について、理想体重について、基礎代謝量について、一日の総消費カロリー(TDEE)について、BMI、理想体重、基礎代謝量、一日の総消費カロリーを計算・表示するフォームの作成、コマンドボタンへのVBAコードの割り当てどついて紹介してきました。
この記事が少しでもあなたのお役に立てれば、これほど嬉しいことはありません。
以上です。
コメント