Access入門(24)クエリでの日付型の抽出

今回は、クエリの日付時刻型の検索について説明をします。
本稿では、以下の内容について解説を行っております。
1)日付時刻型とは
2)クエリのコピー&ペースト
3)クエリの編集
4)該当の日付のデータを抽出する
5)該当の日付より未来のデータを抽出する
6)該当の日付を含んだ未来のデータを抽出する

1)日付時刻型とは
日付時刻型について確認をします。下図の通り、ナビゲーションウィンドウのテーブル欄から「顧客管理」を選択し、マウスの右クリックでメニューを表示し、「デザインビュー」を選択します。

下図の通り、「顧客管理」テーブルの設計情報を確認すると「登録日」項目のデータ型が「日付/時刻型」で登録されていることが確認できます。

「顧客管理」テーブルを通常に開いてみましょう。上図の通りに、デザインビューが開いている状態でも、ナビゲーションウィンドウのテーブル欄の「顧客管理」をダブルクリックすると、下図の通り、「顧客管理」テーブルの内容が表示されます。登録日の項目に対して、存在しない日付である「4/31」と登録してみます。

入力後に「ENTER」キーを押すか、他の項目に移動すると日付入力が確定します。下図の通り、「4/31」は「1931/04/01」と入力されました。「4/31」の「4」は4月、「31」は1931年と解釈されたようです。日付時刻型は、必ず日付か時刻ではないといけないので、1日は自動で補完されたようです。

 

また、下図の通り、登録日欄に「13/11」と入力してみます。13月11日は存在しませんので、Accessはどのように解釈するのでしょうか。

下図の通り、登録日は「2017/11/13」と解釈されました。「13/11」の「13」は13日に、「11」は11月と解釈されたようです。また、本動画は2017年に撮影したものですが、実際に使用していた年を補ったようです。

まとめますと、次のようになります。
「4/31」→4月の31年(1931の19は自動補完)で1日は自動補完
「13/11」→13日の11月で2017年を自動補完
上下で変換のルールが異なるのが面白いです。Accessも含めて最近のoffice製品はものすごく賢くなっていると思います。ただし、余りにも賢すぎて、その自動補完が自分の意図したものに合致していると良いのですが、自分の意図したものでないと理解不能となってしまいます。

日付時刻型は、必ず日付か時刻でないといけません。「7月中旬」は時を表しているかもしれませんが明確な日付ではないので、そのような入力は出来ません。

2)クエリのコピー&ペースト
今回は日付時刻型に対して検索を行うクエリを作成しますが、1からクエリを作成するのではなく、すでに作成している似たようなクエリをコピー&ペーストして作成していきます。

以前に作成した「文字列検索」クエリをコピーします。下図の通り、ナビゲーションウィンドウでクエリ欄から「文字列検索」を選択し、マウスの右クリックでメニューを表示します。メニューから「コピー」を選択します。

下図の通り、ナビゲーションウィンドウでクエリ欄の任意の場所を選択し、マウスの右クリックでメニューを表示します。メニューから「貼り付け」を選択します。

下図の通り、「貼り付け」というダイアログボックスが表示されます。現在は、クエリ名が「文字列検索のコピー」となっていますが、ここにこれから作成する新しいクエリの名前を入力します。今回は、クエリ名を「日付型検索」とします。

3)クエリの編集
新しく作成した「日付型検索」クエリを編集します。下図の通り、今回に作成した「日付型検索」クエリを選択し、マウスの右クリックでメニューを表示し、「デザインビュー」を選択します。

下図の通り、不要な表示項目である「顧客名」を削除します。下図のフィールドの行の少し上に、灰色で列を選択できる箇所があります。こちらを選択すると、下図の通り列が選択されます。

列を選択した状態で、「Del」キーを押すと該当の行が削除されます。

日付時刻型である「登録日」項目をクエリに追加します。下図の通り、フィールド行で空欄の箇所を選択すると右側に下矢印が出てきます。コンボボックスを開くと、下図の通り「顧客管理」テーブルの各項目が表示されます。ここから「登録日」を選択します。

4)該当の日付のデータを抽出する
登録日が2017年4月8日で登録されているデータを抽出します。下図の通り、抽出条件の行で登録日の列に「2017/04/08」と入力します。

フォーカスを他に移すと先ほど「2017/04/08」と入力した箇所が、下図の通り「#2017/04/08#」に変わります。

日付時刻型の項目に対して検索する際には、値を「#」で囲う必要があります。ただし、入力の際には「#」で囲いませんでしたが、クエリ上では自動的に「#」を補完してくれた訳です。

下図の通り、文字型の項目を検索するには、該当する文字を「“」で囲いました。下図では抽出条件欄に「<>”内藤”」と入力されていますが、これは顧客名欄が「内藤」と入力されていない項目を抽出する条件式です。

また、数値型の項目を検索する場合には数値のみを入力し、「“」「#」などで囲うといったことをする必要はありませんでした。つまり、データ型によって検索方法が異なる訳です。

5)該当の日付より未来のデータを抽出する
ある日付以降のデータを検索したい場合は、下図の通り、抽出条件欄に「>#2017/04/08#」と入力します。ここでは、「2017/04/08」よりも未来の日付で入力されているデータを抽出します。

6)該当の日付を含んだ未来のデータを抽出する
指定された日付を含んで未来の日付が入力されているデータを抽出するには、下図の通り、抽出条件に「>=#2017/04/08#」と入力します。その場合には、「2017/04/08」を含んだ未来の日付が入力されているデータを抽出します。


ニコニコチャンネル(月額固定で見放題)
http://ch.nicovideo.jp/ai-light
本記事に関連する動画講座を閲覧できます。一部の動画は無料でも閲覧できます。

YouTubeチャンネル(無料動画配信中)
https://www.youtube.com/user/ailightcom
ITと経営に関する動画を配信しております。
よろしければ、チャンネル登録をお願い致します。

無料から学べる講座
https://www.ai-light.com/itkeiei/
本記事に関連する動画講座をセット販売しております。
その他、ITと経営に関する動画もセット販売しております。

格安ホームページ制作所
https://www.ai-light.com/hp2
インターネットマーケティングに関する記事が無料で閲覧可能です。

株式会社アイライト公式HP
https://www.ai-light.com/
(Access・Excelでシステム開発会社を探されている法人様はこちら)

ITでお困りのことがございましたら、まずはご相談(コンサルティング)
https://www.ai-light.com/itconsulting.html


弊社は、主に中小企業様向けの業務システム開発ホームページ制作パソコンサポートコンサルティングなど、ITに関する様々なサービスを格安で提供しております。
特に小規模な業務システム開発の分野では、主にAccess(アクセス)を利用した柔軟で効率的な開発を得意としており、関西でダントツの実績があります。

業務システム開発に関しては、以下のような内容で対応しております。
・顧客管理などの単機能なシステムは20万円~50万円が多い。
・受注から入金まで業務全体システムで100万円~350万円ぐらいが多い。
・Access(アクセス)-SQLserverで大規模システム開発は350万円~1500万円が多い。

詳細は、Access(アクセス)、Excel(エクセル)、WEBサイト製作による小規模システム開発のページをご参考ください。

大阪商工会議所からの推薦を受けて、中小企業庁運営の中小企業支援事業に専門家として登録されました。
通称ミラサポ。3回まで無料でのコンサルティングが可能です。ご興味がある方はご連絡ください。
https://www.mirasapo.jp/


(近畿大学にて非常勤講師も務めたバリバリの技術屋が経営する会社)

Access(アクセス)Excel(エクセル)SQL server バーコード Webシステムを使った業務システムのシステム開発の無料相談を受付中

株式会社 アイライト 担当:内藤 響(Naito Ko)
〒550-0005 大阪市西区西本町1丁目5番9号 日清ビル 5F
(四つ橋線 本町駅 24番出口すぐ)
まずは、メール・電話でご相談ください。
TEL : (06) 6599-8890 E-mail : info@ai-light.com
お電話が混んでいる場合が多いので、つながりにくい場合は
TEL : (06) 6535-5117までお願いします。