Access

アクセス2019 使い方⑦クエリ Month DateDiff Right IIf関数

スポンサーリンク

アクセスの使い方⑦では、関数を使ったクエリの作成方法を説明していきます。

関数を利用して演算フィールドを作成したり、必要なデータを抽出したりする方法を解説します。

関数はExcel経験者であれば、馴染みのある機能ですが、Accessでは関数の書式や名前が少しExcelと違います。

 

 

 

1.Month関数(マンス関数)

「Month関数」は、日付データを元にして、月だけを取り出す関数です。

Month関数を利用して演算フィールドを作成すると、月だけを表示したフィールドを新たに作成することができます。

「T担当者マスター」を元にクエリを作成してみます。

次の関数を確認するため、「T担当者マスター」に生年月日フィールドを追加しておきま

す。

Access

①「T担当者マスター」を選択して、《作成》タブー《クエリ》グループー《クエリデザイン》をクリック。

②クエリウィンドウに「T担当者マスター」テーブルを追加する。

③「フィールドリスト」のタイトルバーをダブルクリックして、全てのフィールドを選択し、デザイングリッドに追加。

④[生年月日]フィールドの隣に[誕生月]フィールドを作成します。次の式を入力して演算フィールドを作成します。

演算フィールドの書式

 フィールド名 :  [ 単価 ]*[ 数量 ]

 作成するフィールド名  ↑ 数式

   誕生月 : Month( [生年月日] )

 

⑤クエリを実行します。

アクセスクエリ

 

<日付に関する関数>

Year関数・・・指定した日付の年を整数で返します。

Day関数・・・指定した日付の日にちを整数で返します。

 

2.DateDiff関数(デイト ディフ関数)

「DateDiff関数」は、指定した古い日付から新しい日付までの差を、指定した単位で返す関数です。

単位は、「年」「月」「日」などがあります。

DateDiff関数の書式

 =Date Diff(日付間隔の単位,古い日付,新しい日付)

<日付間隔の単位>

日付間隔の単位 指定する文字列
"yyyy"
"m"
"ww"
"d"
"h"
"n"
"s"

「生年月日」フィールドと今日の日付から年齢を求めた「年齢」フィールドを作成します。

①「T担当者マスター」をデザインビューで開いて次のように入力します。

 年齢:DateDiff("yyyy",[生年月日],date())

②クエリを実行します。

Accessクエリ

 

 

3.Right関数(ライト関数)

「Right関数」は、指定した文字列の右側から、指定した文字数分の文字列を返します。

例えば、「生年月日」フィールドの「1995/03/03」から「03/03」を取り出すには、「1995/03/03」の右側から5文字取り出す「誕生月と日」という演算フィールドを作成してみます。

①「T担当者マスター」をデザインビューで開いて次のように入力します。

 誕生月と日:Right([生年月日],5)

②クエリを実行します。

Accessクエリ

 

<その他の文字列を取り出す関数>

Left関数・・・Left(文字列,長さ)

Left(1995/03/03,4) → 文字列の左から4文字分取り出すので「1995」となる。

Mid関数・・・Mid(文字列,位置,長さ)

Mid(1995/03/03,3,5) → 文字列の3文字目から5文字分取り出すので「95/03」となる。

 

4.Iif関数(アイイフ関数)

「IIf関数」は、条件を指定して条件に合致しているか、していないかによって、指定した値を返す関数です。

例えば、生年月日が「1989/12/31」より前ならば(以下ならば)〇、そうでなければ ーと表示する「役職」という演算フィールドを作成してみます。

①「T担当者マスター」をデザインビューで開いて次のように入力します。

 役職:iif([生年月日]<=#1989/12/31#,"〇","ー")

②クエリを実行します。

Accessクエリ

 

5.関数で満年齢を求める方法

関数で満年齢を求めるには、「DateDiff関数」「Right関数」「IIF関数」「Date関数」を使って求めます。

「生年月日」と「今日の日付」の右側から5文字目までの月/日を比較して大きければ、誕生日がまだきていないので年齢に「-1」します。そうでなければ、年齢を返すという「満年齢」という演算フィールドを作成してみます。

①「T担当者マスター」をデザインビューで開いて次のように入力します。

 満年齢:iif(Right([生年月日],5)>Right(date(),5),DateDiff("yyyy",[生年月日],date())-1,DateDiff("yyyy",[生年月日],date()))

②クエリを実行します。

Accessクエリ

 

③「Q担当者マスター(年齢)」で保存します。

 

sangoya
これからアクセスでデータベースを構築したい方におすすめの書籍です!

小さなお店や個人的にアクセスを導入したい方は実践的な内容で参考になると思いますよ。


アクセスの使い方⑧ 初心者向け【 クエリの作成 アクションクエリ】へ

 

 

 

スポンサーリンク

-Access

© 2024 オンラインパソコンスクール♥キャリアデザイン Powered by AFFINGER5