過去の桐井戸端BBS (桐ver.9) |
26837 | 一括処理で年月のデータを比較するにはどうしたらよいのでしょうか | 山田 | 2004/06/28-21:57 |
毎度つまらない質問で恐縮ですが V5で、表の項目[年月]を文字列と設定して次のような一括処理をしていました。 キー入力 プ="和暦 (YY.MM)(=年と月は2桁でね!!),&期末 &前期末 =#部分列(#月数加算(&期末,-12,1),1,5) 置換 [期別]=#条件選択([年月]>&前期末.AND[年月]<=&期末,"当期") ( [年月]には、V5のデータですから、16.03とか15.03とかが文字列で入っています。) この一括をV9へ移しました。 環境設定では、 04/06/28 としました。 本当は、04.06したいのですが、年が2桁の場合、 ”.”の区切り記号はないみたいですね。 キー入力で16.05と入力すると、&前期末は"15/05"とうまく前年になりました。 (ただ、”/”は全角のような気がします) しかし、当然[年月]のたとえば"15.05"とは比較できませんね。 したがって、上記一括の置換がうまく動きません。 なお、和暦にしているのは、個人的に和暦が好きなこと、昭和の年月との混同が 平成も15年にもなると全くないデータですので、 西暦に直すことでうまく行くなら、西暦への年月の変換方法をご教授くださっても結構です。 いかがすべきでしょうか。よろしくお願いします。 | |||
26839 | 原則は日時型を使うべきなのでしょう | 佐田 守弘 | 2004/06/28-22:25 |
記事番号26837へのコメント 山田さん 原則は日時型を使うべきなのかと思います。 ただし、日時型は年月日(正しくは時分秒まで)の値です。 使うのは年月だけの様ですので、仮に日は1日に固定してしまい、値として年と月だけを 印刷に使うという方法は考えられます。 すでに出来ている日付の後ろに形の上で1日つまり「.01」を付加しておき、 これを文字列型から日時型に変更すれば日時型に変わります。 あるいは新たに別の日付の項目を作り、ここに現在の日付の後ろに「.01」を付け加えた値を置換で入力してから、 日時型に変更しても構いません。 ●日時型の利点 日付の比較が簡単にできるとが真っ先に挙げられます。 半期、四半期毎にグルーピングする事も出来ます。 そして何よりの利点は、和暦と西暦の区別を考えなくてよい事です。 西暦で入力しても、和暦で入力しても正しい日付が入りますし、 表示のフォーマットだけで和暦、西暦の表示を切り替えられます。 これは印刷時にも同じです。 日のデータが不要な場合ですが、#年、#月、あるいは#元号年関数で 必要なデータを取り出して印刷することが出来ます。 佐田守弘(KS-00119) | |||
26849 | Re:できました ありがとうございます | 山田 | 2004/06/29-17:18 |
記事番号26839へのコメント 佐田 守弘さん いつもお世話になり、ありがとうございます。 日付型にしましたが、すると一括のあちこち直す必要がでてきました。 ふと気がついて、[年月]を文字置換して、”.”を”/”に置き換えたところ、従来の一括でうまく動きましたので、 とりあえずこの方法で行くことにしました。 |