Accessで健康を考える上では必要なBMI、理想体重、基礎代謝量、一日の総消費カロリーを計算・表示するフォームの作成、Microsoft Access備忘録(5)

Access
この記事は約7分で読めます。

はじめに

 前回は、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(㎏/m2) = 体重(㎏) ÷ 身長(m) ÷ 身長(m)

 人の肥満度は、日本肥満学会の基準によると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を用いた指標で表すと次の式となります。

理想体重(㎏) = 22 × 身長(m) × 身長(m) 
 この他に美容体重(BMIが20の体重)、シンデレラ体重(BMIが18の体重)、モデル体重(BMIが17の体重)などがあります。

基礎代謝量について

 生命維持に必要な最低限の必要エネルギーを基礎代謝量と言います。

 基礎代謝量の計算には、色々な式が提案されていますが、健康な日本人に対して比較的妥当性が認められている国立健康・栄養研究所の式(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)について

 一日の総消費カロリーは、基礎代謝量に一日の活動消費カロリーを加えた値であり、TDEE(Total Daily Energy Expenditure)と呼ばれることが多いです。
 そして、このTDEEは1日の大まかな活動レベルに対して、次のような係数(この係数の値は記事により異なる)を基礎代謝量に乗じた値となります。(ここでは、https://keisan.casio.jp/exec/system/1567491116の係数を使用)
活動レベル 運動量 係数
レベル1 ほぼ運動しない 1.2
レベル2 軽い運動 1.375
レベル3 中程度の運動 1.55
レベル4 激しい運動 1.725
レベル5 非常に激しい 1.9
 TDEE = 基礎代謝量 × 係数

BMI、理想体重、基礎代謝量、一日の総消費カロリーを計算・表示するフォームの作成

 フォームは、入力部分と結果の表示部分に大きく分けます。
 入力部分には、年齢、体重(kg)、身長(cm)(テキストボックス)、性別(オプショングループ+オプションボタン)、運動レベル(コンボボックス)の入力欄と計算とクリアのコマンドボタンを配置します。
 結果の表示部分には、理想体重、BMI、肥満度、基礎代謝量、一日の総消費エネルギーの計算結果を表示させるテキストボックスを配置します。
このようにして作成したフォームを次に示します。
 

コマンドボタンへのVBAコードの割り当て

 作成したフォームをデザインビューで開き、「計算」コマンドボタン上で右クリックし、開いたメニューで「イベントのビルド(E)」をクリックすると、VBE(Visual Basic for Editor)が開き、「
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コードの割り当てどついて紹介してきました。

 この記事が少しでもあなたのお役に立てれば、これほど嬉しいことはありません。

以上です。

コメント

タイトルとURLをコピーしました