Excel と Access を連携する方法

Microsoft Excel とAccess を利用し、業務システムをクラウドで運用するための情報・技術などを発信していくサイトです。

Access入門:生年月日から今日の年齢を計算する(エラー対応付き)

生年月日の項目から、今日の年齢を表示する場合など、カードボックス BARI に計算項目を表示する場合は、計算式のテキストボックスを追加します。

追加したテキストボックスのプロパティのコントロールソースに下記の計算式を登録します。

※生年月日の項目が10番目(ctrFL010)の項目の場合の計算式です。

=IIf(IsDate([ctrFL010]),IIf(Format(CDate([ctrFL010]),"mm/dd")>Format(Date(),"mm/dd"),DateDiff("yyyy",CDate([ctrFL010]),Date())-1,DateDiff("yyyy",CDate([ctrFL010]),Date())),Null)

▼実行するとこのような感じです。

カードボックス BARIでは、すべての項目がテキスト形式で保存していますので、CDate関数を使って日付形式に変換する必要があります。

日付に変換できない場合は、IsDate関数を使ってエラーチェックを行います。

IIF関数

IIF関数は、次のように記述します。

IIF(条件, 正しいとき, 違うとき)

年齢計算の例を解説すると、条件は

Format(CDate([ctrFL010]),"mm/dd")>Format(Date(),"mm/dd")

です。

今日の日付が、今年の誕生日の前なのか後なのかを判断しています。

誕生日前だったら

DateDiff("yyyy",CDate([ctrFL010]),Date())-1

誕生日が来ていたら

DateDiff("yyyy",CDate([ctrFL010]),Date())

と言うようになっています。

また、日付以外の文字が入力されるとエラーが出ますので、入力した値が日付に変換できるかどうかを次の式で判断しています。

IsDate([ctrFL010])

Accessをクラウドで運用

カートボックス BARI のデータは、クラウド化して遠隔地で共有することが出来ます。 プログラムは、ローカルのパソコンにセットして、データはOffice365 の SharePoint に保存することが出来ます。


/*ボタンデザイン*/