Q&A

回答の並べ替え:
投稿新規に質問を投稿する

和暦の表示

Kaneokun Kaneokun

2019-10-16 10:13

こんにちは。
CELFを使い始めたばかりの初学者です。
タイトルのとおりですが、年を和暦で表示したい時にはどうすれば良いのでしょうか。
EXCELのように書式設定でできれば良いのですが。
IFを使って判定すればもちろんできるのでしょうけれど、それだと今後の元号変更に対応できないと思いまして質問させていただきました。

Kaneokun Kaneokun
回答ありがとうございます。
やはり、「EXCELのように自動的に・・・」というのは無理なんですね。
分かりました。
アクションで判定したいと思います。
新日本コンピュータマネジメント株式会社 新日本コンピュータマネジメント株式会社 パートナー
コサウェルさんの条件分岐を使って行う事が簡易的かと思いますが、アクションで作成するのが抵抗がある様でしたら、DB経由しかないかと思います。

<和暦テーブル>
StartDate 、 EndDate 、和暦、和暦略
 ・・・  、2019/04/30、平成 、H
2019/05/01、 ・・・ 、 令和 、R

よくある実装方法だと思いますが、取得した日付をWHERE句でStart~Endの間に
なっているレコードを取得して、和暦を取る。

ここまでやって実装した方がよいか否か、悩むところかと思います。

メールコンタクトをとる
株式会社 コサウェル 株式会社 コサウェル パートナー
メダルベストアンサー
パートナーの(株)コサウェルと申します。

Excelのような書式設定がないため、何かしらの方法で日付を判定して設定するしかないと思います。
例えば、アプリ実行時に入力された日付を変換する場合は、和暦へ変換するようなアクションセットを作成して、セルの変更時にそのアクションが実行されるようにすれば即時変換されるようになります。
今後新元号が増えたときでも判定するアクションを追加することで対応できるのではないでしょうか。

なお、セル変更時に実行されるアクションを設定する方法についてはヘルプを参考にしてください。
https://cloud.celf.jp/celf-help/ja/texts/action_make/specify_action_when_cell_value_changed_1/specify_action_when_cell_value_changed_1.html

ためしにアクションを作成してみたので、参考にしてみてください。
各元号の終了日と比較して、どの元号に該当するのか判定し開始年から何年なのかを計算して表示しています。
1年が「元年」にならないとか、1912年07月29日以前はすべて明治になってしまうなど、考慮不足はあるのですが、参考になれば幸いです。

メールコンタクトをとる