こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

DLookUp関数を使ったACCESSの令和表示

[やりたい事と背景]
ACCESS2007で和暦を令和表示させたい。

現在、新元号の対処方法「ACCESS2007の為」としてテキストボックスのプロパティー(書式)に「”令和○年”」と記載し、データタブのレコードソースに「=Date()」としてしています。年に一回とは言え自動で対処できないものかと考えて居りました。昨日ですがWEBにて対処方法が記載されたサイト「ページ」を見つけました。早速、試してみましたところ「指定した式に不適切な日付の値が含まれています。」とのアラートが出て設定完了に至りませんでした。私には問題が「式」なのか「式」ならどこに問題があるのかすら分かりません。アドバイスをお願いできますでしょうか。

[令和対応紹介 ウェブサイト]
新元号は「令和」|マイクロソフトのパッチに頼らずにAccessで新元号を表示する方法
https://www.ait-labo.com/excel_access/2805/

[ウェブでの紹介と対応方法]
1,テーブル内のフィールドは次の3つとシンプルです。「IDは必要ないのでしょうか?(私はID無しで作りました)」

・開始年月日(日付/時刻型)
・終了年月日(日付/時刻型)
・和暦(短いテキスト)

自身の対応:西暦・和暦対応マスタを作る。名前:履歴マスタ「私は T_履歴マスタとしました。(修正時に探しやすい為)」

2,和暦への変換はDLookupで取得

フォームには、日付を表示するテキストボックス(txt日付)と和暦日付を表示させるテキストボックス(txt和暦日付)を用意します。

「和暦日付付用のフィールドのコントロールソースには次のような設定を行います(コピペして終了させ様とするとエラーアラートがでる)」
=DLookUp(“和暦”,”和暦マスタ(T_履歴マスタに変更)”,”開始年月日 <= #” & txt日付 & “# and 終了年月日 >= #” & txt日付 & “#”) & Format(txt日付,”mm\年dd\日”)

以上ですが、宜しくお願いします。

投稿日時 - 2020-01-24 09:04:01

QNo.9705020

困ってます

質問者が選んだベストアンサー

>「令和02年」だけ表示させるには「式」をどの様にすれば宜しいでしょうか。

DLookUpでヒットしたレコードの和暦データに、テキストボックス(txt日付)の日付をFormatで月(mm)と日(dd)のデータに加工して最後に連結しているという式になりますので、最後の

& Format(txt日付,"mm\年dd\日")

を削除してください。式の中の「年」は「月」の間違いだと思います。

投稿日時 - 2020-01-24 11:39:53

お礼

ありがとうございました。これで平成表示「平成02年」が全て「令和02年」に変更できます。ありがとうございました。

投稿日時 - 2020-01-24 12:03:38

ANo.2

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

この問題とは関係なく話は過去にさかのぼるのですが
先日のメッセージボックスの件、2007のマクロがどのようになっているのか不明でしたので、プロシージャでの方法にしたのですが、その後以下のサイトを偶然見つけました。

http://www.mahoutsukaino.com/ac/ac2000/ac2000/m_msgbox/msg01.htm

2002の画面なのですが、こちらのような感じで条件を入れてメッセージボックスを表示するという指定ができるのでしたら、こちらの方法を取得したほうが後々他で流用できると思います。

投稿日時 - 2020-01-24 12:53:58

ANo.1

サイトに表示されている式をそのままコピペすると半角でなければいけない"が全角の“”になったままなのでエラーになります。
メモ帳など置換ができるソフトに貼り付けて「“」と「”」を「"」に置換してください。フォントを大きくすると違いが分かりやすいです。

投稿日時 - 2020-01-24 09:58:54

補足

ありがとうございます。早速、設定してみましたところ「令和02年01年24日」に表示できました。実は、申し上げにくいですが、「令和02年」だけ表示させるには「式」をどの様にすれば宜しいでしょうか。宜しくお願いします。

投稿日時 - 2020-01-24 10:57:25

あなたにオススメの質問