Page 4 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 通常モードに戻る ┃ INDEX ┃ ≪前へ │ 次へ≫ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼日付認識について まこちゃん 01/11/7(水) 10:14 ┗Re:日付認識について KNCH 01/11/7(水) 19:36 ┣Re:日付認識について issun 01/11/7(水) 21:35 ┃ ┗Re:日付認識について ykitz 01/11/8(木) 3:17 ┃ ┗Re:日付認識について まこちゃん 01/11/8(木) 16:42 ┗Re:日付認識について KNCH 01/11/8(木) 16:43 ┣Re:日付認識について ykitz 01/11/8(木) 17:01 ┗Re:日付認識について (式の書き方について... ykitz 01/11/8(木) 17:19 ┗Re:日付認識について (式の書き方について... KNCH 01/11/8(木) 19:20 ┣Re:日付認識について (式の書き方について... ykitz 01/11/8(木) 23:21 ┗Re:日付認識について (式の書き方について... issun 01/11/9(金) 0:01 ─────────────────────────────────────── ■題名 : 日付認識について ■名前 : まこちゃん ■日付 : 01/11/7(水) 10:14 -------------------------------------------------------------------------
| また教えてください! 社員管理をアプローチで行いたいと思っています。ところがこれまでの社員データが蓄積されているサーバー上で、たとえば生年月日は『3421121』という形で管理されています。最初の3は元号、1=明治・2=大正・3=昭和・4=平成で、その後は和暦の年月日です。さっきの例は『昭和42年11月21日』ということになっているんです。これをアプローチの日付形式に変換したいと思ってるんですが・・・。これはアプローチの使い方じゃないから、本来のこのページを作っていただいてる主旨とずれちゃうかもしれませんが、こまってるんです。おしえてください!勝手ばかり言ってごめんなさい。 |
| >> まこちゃんさん: >また教えてください! >生年月日は『3421121』という形で管理されています。最初の3は元号、1=明治・2=>大正・3=昭和・4=平成で、その後は和暦の年月日です。さっきの例は『昭和42年11月>21日』ということになっているんです。これをアプローチの日付形式に変換したいと思>ってるんですが・・・。 不親切なアイデアですが、とりあえず投稿します。 元号が「明治」であれば年号+1867、「大正」ならば年号+1911、「昭和」は+1925、 「平成」は+1988で、西暦に変換されると思います。 計算型フィールドを設けて、生年月日フィールドを元に関数で作成すればよいと思います。 |
| 確かにアプローチに直接関係無いので参考だけ・・ 1.レコード数が大したことない場合直接入力する。 (間違いをなくす為に”生年月日II”というフィールドを作成してそこへ入力) 2.レコード数が多くてアプローチで処理する場合以下の計算型フィールドと 変数型フィールドを作成する。 ●フィールド名”元号” 関数 Middle(”データベース名”.生年月日, 1, 1) ●フィールド名”年1.” 関数 Middle(”データベース名”.生年月日, 2, 2) ●フィールド名”月” 関数 Middle(”データベース名”.生年月日, 4, 2) ●フィールド名”日” 関数 Middle(”データベース名”.生年月日, 6, 2) ●計算型フィールド フィールド名”年2.”を作成 KNCH さんの投稿に沿って関数 If(元号 = 1, 年1. + 1867, If(元号 = 2, 年1. + 1911, If(元号 = 3, 年1. + 1925, If(元号 = 4, 年1. + 1988, '')))) とします。 ▲変数型フィールドを作成します。 形式・文字型 フィールド名・”スラッシュ” デフォルト・「/」 ▲最後に計算型フィールドを作成します フィールド名「生年月日2.」関数 Combine(年2., スラッシュ, 月, スラッシュ, 日) 以上で「生年月日2.」のフィールドには○○○○/○○/○○という形で生年月日が表示 されます。 正しく表示されたら上記に作成したフィールドをを利用して既存の入力方法を続けるか ワークシートで列ごと「生年月日2.」をコピーして既存の生年月日に列ごとペーストし てしまうかです。 その場合ペースト後に上記で作成した計算型・変数型フィールドは削除してください。 但し「まこちゃん」さん、大切な会社のデータです、コピペは慎重に・・・ もっと簡単な方法があるかもしれないのですね。 ykitzさん アプローチに直接関係無いけどもっと良い方法あります? |
| >> issunさん: KNCHさんとissunさんの案でOKだと思います。 あと、サーバーにデータがあるとのことですので、 サーバーの管理者にゴマすって、あちらでデータを西暦に加工してもらうというのが 一番、簡単で正確です...。 まるでアプローチとは無関係ですが。 |
| ありがとうございました! さっそくやってみます。 アプローチに関係なくてごめんなさい・・・反省 |
| 登録したばかりです。 この頁がどんどん盛り上がり、多くの情報交換ができれば たくさん教えてもらえ、また勉強させてもらえるかなと、 期待しています。 早速ですが、元号で入力された日付を、日付形式に変換する式を 作ってみました。 新しいフィールドを「計算型」で作成して、オプションで下記の式を作成します。 −−−−−−−−−−−−−−−−−−−−−−−−−−−−− Date( Middle(生年月日, 4, 2), Right(生年月日, 2), Left(生年月日, 3) + If( Left(生年月日, 1) = 1, 1767, If( Left(生年月日, 1) = 2, 1711, If( Left(生年月日, 1) = 3, 1625, 1588 ) ) ) ) −−−−−−−−−−−−−−−−−−−−−−−−−−−−−− データ入力等は今まで通りのフィールドを使用し、 生年月日を参照する場合に、このフィールドを使えばいいかと思います |
| >> KNCHさん: ありがとうございます。 人それぞれ得意・不得意があるので 三人寄れば何とやらの精神でどんどん情報交換して アプローチを活用していきたいと思います。 これらからも、いろいろ教えてください。 |
| >新しいフィールドを「計算型」で作成して、オプションで下記の式を作成します。 > >−−−−−−−−−−−−−−−−−−−−−−−−−−−−− >Date( > Middle(生年月日, 4, 2), > Right(生年月日, 2), > Left(生年月日, 3) + If( > Left(生年月日, 1) = 1, > 1767, > If( > Left(生年月日, 1) = 2, > 1711, > If( > Left(生年月日, 1) = 3, > 1625, > 1588 > ) > ) > ) > ) --------------------------------------------------------------- 「計算型」の式の欄に、上記の形式で入力する必要はありません。 上記は KNCH さんが、式の入力ミスが少なくなるようにとの配慮で こういう書き方をなさったのだと思います。 というのは、アプローチの計算式ではカッコの開く・閉じるが対応してないと エラーになります。 また、上記のような長い式を一行で書くと、わかりにくい上に 間違いが入り込みやすくなります。 上記のような書き方をすると、カッコの対応関係がはっきりわかるし、 式の内容も見やすくなります。 KNCH さん、わかりやすい書き方をしてくださり ありがとうございます。 |
| ykitzさん: 配慮が足りませんでした。 これからも宜しく御願い致します。 KNCH |
| >> KNCHさん: >配慮が足りませんでした。 いえいえ、そういうつもりで補足したんじゃないんです。 式のネストを意識した書き方を知らない人が、あの式を見ると びっくりしたり、難しいと思ったりしないかと思い、お節介な補足をしました。 ホントは、アプローチの式の欄で、あのように入力や表示ができるといいのですが。 それから、アプローチでの入力や表示がどうあれ、 掲示板などで式を説明するときは、 KNCHさんのような式の書き方をすべきだと思います。 やはり、式の内容や意味が、明確に伝わることが大切だと思いますので。 KNCHさん、これからも、いろいろ教えてください。 |
| >> KNCHさん: >ykitzさん: > KNCH さんの書き方見習いたいと思います。 私はゼロからの独学で仕事もパソコンに疎遠な為、足りない部分が多々あるので、 間違った内容だったり 解りにくい書き方してしまったら よろしくお願いします。 メールでよろしくって送ろうと思ったらアドレスわからないし ゲストブックの復活がまだのようなので この場を借りさせていただきました。 ykitzさんごめんなさい。 「まこちゃん」さん 上手く変換できるようにがんばってください。 |