ACCESS97で社員名簿を作っています。
現在の日付から年齢を算出する関数は調べたところ次のようにすればよいとわかりました。
IIf(Right(Format([生年月日],"yyyy/mm/dd"),5)>Right(Format(Now(),"yyyy/mm/dd"),5),DateDiff("yyyy",[生年月日],Now())-1,DateDiff("yyyy",[生年月日],Now()))
次は現在日から入社年月日フィールドにあるデータを使い、勤続年数○年○ヶ月というクエリーを作りたいのですが、○ヶ月を算出する応用がわからずに困っております。
どうかよろしくお願いします。
No.1
- 回答日時:
日付の差異を求める関数は、DateDiffです。
datediff("yyyy",[入社年月日],date) & "年" & datediff("m",[入社年月日],date) mod 12 & "ヶ月"
ってな感じで記述すればいいでしょう。
mod 演算子は、割り算の余りを計算します。
この回答への補足
回答ありがとうございます。
教えていただいたとおりやってみたのですがうまく結果が出ません。
入社年月日フィールドのデータは西暦でyy/mm/ddで入力してあるのですが、データのない社員の分は「年ヶ月」という文字だけが返り、データを入力してある社員の分は「#Error」が返ります。
No.2
- 回答日時:
うーん… それなら、
DateDiff('m',[入社年月日],Date()) \ 12 & '年' & DateDiff('m',[入社年月日],Date()) Mod 12 & 'か月'
のようにしても駄目でしょうか?
これでも駄目なら、
DateDiff('m',[入社年月日],Date())
とだけ、クエリのフィールドの部分に入力してみて、それらしき数字が出るかどうか確認してみてください。(3年2ヶ月なら、38(36+2ヶ月)と表示されるはず。)
もしうまくいかなければ、補足してください!
この回答への補足
回答ありがとうございます。
うまくいきました!上の方法でうまくいったんですけど、勤続2週間の社員が勤続0年1ヶ月のように月未満の分も繰り上げられてしまうのですがよい方法はありませんか?
たびたびすみませんがご存知でしたらお願いします。
No.3ベストアンサー
- 回答日時:
これは、DateDiff関数が、月単位で日付を数えている事に起因する問題ですね。
DateDiff('m',#2001/01/31#,#2001/02/01#)
のようにすると、1が表示されます。
日付的には1日しか違わないのに、月だけに着目するとひと月異なっていると判断されるんですね。
ってことで、「どの時点でひと月と判断するのか」を決めておく必要が出てきます。
1月29日(月末より前)に入社した人を2月28日(月末)には勤続一ヶ月と判断するべきか、とか、細かい事を考え出すときりがないので、とりあえずこんな感じで決めてみます。
入社年月日の日の部分とと、現在の年月日の日の部分とを比較してみて、現在の日のほうが大きかったら、既にひと月経過したとみなす。
これを#2の式と組み合わせると、以下のようになります。
IIf(Day(Date())>=Day([入社年月日]),DateDiff('m',[入社年月日],Date())\12 & '年' & DateDiff('m',[入社年月日],Date()) Mod 12 & 'ヶ月',(DateDiff('m',[入社年月日],Date())-1)\12 & '年' & (DateDiff('m',[入社年月日],Date())-1) Mod 12 & 'ヶ月')
なんか、すごい長い式になっちゃいましたが、これで上記のような仕様を満たしているはずです。
ありがとうございます!
これぞ求めた結果でした!
Accessはよく使うのですが関数は一般的なことしか知らず、自分で応用をきかせようにも発想することもできずにいましたので本当に助かりました。何回も補足になってすみませんでした。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
これ何て呼びますか Part2
あなたのお住いの地域で、これ、何て呼びますか?
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
Accessで勤続年数(○年○ヶ月)を表示する方法
その他(データベース)
-
accessでの勤続年数の計算
PowerPoint(パワーポイント)
-
アクセスで「本日日付」と「入社日付」から勤続年数をだせるようにしたいのです。。
Access(アクセス)
-
-
4
アクセス2000で勤続年数の自動計算方法は?
Access(アクセス)
-
5
ACCESS 「パラメータの入力」を消したい!!
Access(アクセス)
-
6
Accessのチェックボックスで非表示
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
所属部署が分かりません・・・
-
恥ずかしながら勤続年数がはや...
-
社会人何年目とかの数え方って...
-
SQL Plusで項目名が最後まで表...
-
JA単協を受けている大学生です...
-
妻の職場への転職について
-
保険業界 就職 ブラックリスト
-
就活の時ですが自分に親の影響...
-
◆働く皆さん◆ 産休、入社何年...
-
丸亀製麺でアルバイトを始めた...
-
NTT東日本の管理職になれる確率...
-
コネ入社経験者様、コネ入社の...
-
財団法人に入ると。
-
履歴書の会社名の事で質問があ...
-
精神疾患で休職する予定ですが...
-
いつから入社できるかと、入社...
-
入社したばかりの派遣の休み
-
転職の入社日当日に体調不良で...
-
コネを利用して就職にされた方...
-
就活中の大学生です。 良品計画...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
所属部署が分かりません・・・
-
恥ずかしながら勤続年数がはや...
-
社会人何年目とかの数え方って...
-
就活の時ですが自分に親の影響...
-
転職の入社日当日に体調不良で...
-
SQL Plusで項目名が最後まで表...
-
保険業界 就職 ブラックリスト
-
入社したばかりの派遣の休み
-
妻の職場への転職について
-
◆働く皆さん◆ 産休、入社何年...
-
入社後 身上書を書かされるのは...
-
契約社員(業務請負)の場合の...
-
コネ入社経験者様、コネ入社の...
-
入社の際に書く資料が多すぎる ...
-
財団法人に入ると。
-
JA単協を受けている大学生です...
-
入社して1週間後に引っ越し手続...
-
ハローワークの求人票の基本給...
-
部署異動を3月に内示されたら...
-
部長という役職はやっぱりすご...
おすすめ情報