• ベストアンサー

アクセスの式について

ウインドーズのXPのアクセスを使っています。 名簿を作成しているのですが。以下の点に関して入力するべき式を教えてください 1、生年月日から現在の年を計算する式 2、入職年月日から経験年数を計算する式 3、その年の退職率、入職率を計算する式 まったく式の意味もわからず行っています。 どのような本がオススメか教えていただけると助かります。

質問者が選んだベストアンサー

  • ベストアンサー
  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.2

年齢の算出の仕方はいろいろあるので年齢だけでよければ =IIf(CDate(Format([生年月日],"mm/dd"))<=CDate(Format(Date(),"mm/dd")),DateDiff("yyyy",[生年月日],Date()),DateDiff("yyyy",[生年月日],Date())-1) または =IIf(Right(Format([生年月日],"yyyy/mm/dd"),5)>Right(Format(Now(),"yyyy/mm/dd"),5),DateDiff("yyyy",[生年月日],Now())-1,DateDiff("yyyy",[生年月日],Now())) で演算できます。 たとえば =(DCount("[入職年月日]","名簿","[入職年月日] Between #2000/01/01# And #2005/12/31#")/DCount("*","名簿")*100) で2005/01/01から2005/12/31までの期間の入職率を演算できます。(入職年月日が指定した期間に該当するレコードをカウントしてそれを名簿の全レコード数を求めて割り率を算出する。) 退職率は入職年月日の記述のところを退職年月日というフィールドがあればそのフィールド名に変更して同様に算出できます。

その他の回答 (1)

  • xmoto
  • ベストアンサー率27% (27/98)
回答No.1

年齢: Format(DateDiff('yyyy',[生年月日],Date())+IIf(Format([生年月日],'mmdd')>Format(Date(),'mmdd'),-1,0),'0\歳') & Format((DateDiff('m',[生年月日],Date())+IIf(Format([生年月日],'dd')>Format(Date(),'dd'),-1,0)) Mod 12,'0"ヶ月"') 入社年月日からもコントロールを変えるだけで同じです。 退職率・入職率は1・2の質問と同等の次元ではありませんよ。

関連するQ&A