pickup

目次

社員名簿の作成

こんにちは。伊川(@naonaoke)です。

今回は、一対一のリレーションについて紹介します。

一対多のリレーションは、オートルックアップクエリで説明しました。


一対一のリレーションは、実務では、あまり私は使用しません。

しかし、社員名簿等を管理するには、一対一のリレーションが便利です。

問題提起

(株)IKAWAの阿久 世子男(アク セスオ)は、

上司から下記の依頼を受けまた。

定年者を管理する名簿を作成してほしい。

どのようなシステムを作成するのがいいだろうか?

解決策

回答
sesuo2.jpg
・一対一のリレーションでシステムを設定する。

 

一対一のリレーション

一対一のリレーションについては、メリットは特にありません。

しかし、特定の機密情報等を権限のある者しか閲覧できないような場合に使います。

今回は、定年者を抽出する社員名簿を作成します。

社員名簿作成 作成手順その1 データベース確認

MT_社員住所録


MT_社員入社日


MT_社員配属


社員名簿作成 作成手順その2 一対一のリレーション設定

一対一のリレーションを設定すると、各テーブルに【1】が付きます。


上の3つのところにチェックを入れます。

これで設定は完了です。







社員名簿作成 作成手順その3 クエリを作成

すこし強引ですが、一対一のリレーションで社員名簿を作成しました。







社員名簿作成 作成手順その4 DateDiff関数 DateAdd関数


 年齢: DateDiff("yyyy",[生年月日],Date())+(Format([生年月日],"mmdd")>Format(Date(),"mmdd"))

 勤続年数: DateDiff("yyyy",[入社日],Date())

 定年: DateAdd("d",-1,DateAdd("yyyy",80,[生年月日]))

 定年までの年数: DateDiff("yyyy",Date(),DateAdd("yyyy",80,[生年月日]))
DateAdd関数とは
日時に、指定した単位の時間を加算して返します。
「2週間後の見積有効期限の日にちを求めたい」というようなときに使用します。
DateDiff関数とは
2つの日時の間隔を返します。
間隔とは日時1と日時2の間に指定した単位の
「カウントの基準」が何回あるかを表す数です。
日時1と「カウントの基準」が一致する場合、日時1はカウントの対象になりません。

社員名簿作成 作成手順その5 定年のビゼーを削除すると?

このようなアラートが表示されます。

つまり、一対一のリレーションで設定されたビゼーに関するレコードがすべて削除されます。

ここがポイント

ここがポイント
Function8.png
社員名簿は、ACCESSで作成する場合は、一対一のリレーションで作成したほうがいいと思います。色々な機密情報、例えば、賞与の額等などがあります。今回は、クエリで、色々な数値を算出しながら、一対一のリレーションで社員名簿を作成しました。

 

まとめ

今回のまとめ
sesuo6.jpg
今回は、年齢、勤続年数、定年、定年までの年数等、

色々な数値を出しました。クエリは奥が深いです。

もっと勉強したいと思う阿久 世子男(アク セスオ)なのでした。

今回のサンプルファイルは、No89です。

毎日の業務が、3時間短縮できます

わからない事を延々と考えるのは、無駄です。

  • なんで作動かないの?
  • もうやだ!VBAなんか嫌い!
  • ネットで調べても情報がない!

必ず作動するコードが、ここにあります。

スポンサーリンク

Twitterでフォローしよう

おすすめの記事