このサイト・インストラクターのネタ帳で
「Access Now関数 年のみ表示」
といった検索が行われていました。
AccessでNow関数を使うと、現在の日付と時刻を取得できますが、そこから現在の年だけを表示する方法を探している方による検索です。
いくつかの実装方法が考えられますが、
「Access Now関数 年のみ表示」
という検索だけでは、どういうシーン・仕様で年のみを表示させたいのかがわからないので、ここではAccessを使う上で知っておくほうがいい基本的な方法を3つご紹介しておきます。
書式設定による方法と、関数による方法が2つの、合計3つの方法です。
▼サンプルファイル(003777.mdb 224KByte)ダウンロード
サンプルファイルではフォームを一つ用意し、Now関数を使い現在の年を表示する3種類のテキストボックスを作成してあります。
まずは書式設定による方法から。[既定値]欄に「=Now()」
[書式]欄に「yyyy」
と指定する
テキストボックスのプロパティを下図のように指定してください。
ExcelでセルにTODAY関数やNOW関数を入力しておいて[セルの書式設定]ダイアログで「yyyy」というユーザー定義書式を指定すると年だけを表示できます。それと同じ考え方による方法です。
データとしては、年だけを持っているわけではなく、時刻まで含んだデータを持っていることが特徴です。
サンプルファイルの、書式を使った方法を使っているテキストボックスにカーソルを移動していただくと、時刻まで表示されるのを確認いただけるでしょう。
関数を使っても現在の年だけを表示できます。Excelユーザーだった方にとって理解しやすいのはYear関数を使う方法でしょうか。[既定値]欄に「=Year(Now())」
と指定する
テキストボックスのプロパティを下図のように指定してください。
先の書式を利用した方法と違い、この方法では[書式]欄は空白のままです。
Excelのワークシート関数・YEARを使うと日付データから年だけを取得できます。これと同じ考え方です。
この方法なら、先の書式による方法とは違い、データとして現在の年の値を持つことになります。
テキストボックスにカーソルを入れても、先の書式設定による方法のように、時刻まで表示されることはありません。
もう一つ関数を使う方法が、Format関数を使う方法です。[既定値]欄に「=Format(Now(),"yyyy")」
と指定する
Year関数では年を取得することしかできませんが、Format関数では第2引数の指定次第で、様々な値を取得できます。
どんな指定をするのかは、Excelのユーザー定義書式に慣れている方なら、おそらく推測できるでしょうが、このサイトでも日時関連の指定できる書式記号を一覧にしていますので、合わせてご参照ください。
Home » Access(アクセス)の使い方 » Now関数から年のみ表示する方法