みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
生年月日のフィールドを作成し、Excelファイルをインポートしようとしています。
生年月日のフィールドがExcelでは「19840101」と入力されていますので、
日付フィールドが「0000/00/00」となります。
定期的なインポートにしているので元データはそのままにし、
インポート時に変換をかけたいと思っています。
スラッシュをそれぞれ挿入したいのですが、どのような計算式が適当でしょうか。
すみませんが、今日中に仕上げないといけないため恐れいりますがよろしくお願いいたします。
手っ取り早くの方法は、別のテキストフィールドにインポートして、
Date ( Middle ( text ; 5 2 ) ; Right ( text ; 2 ) , Left ( text ; 4 ) )という計算式で日付に変換、という方法でしょう。
Offline
一応、生年月日で元データの月や日が一桁の場合は頭に0がつくと仮定してだけど
俺なら、ひとまず日付テキスト(テキスト型)ってフィールドを作って、まずはそこに
インポートしてから、本命のフィールドに全置換するかな。
全置換の計算式は
Case (
Length ( 日付テキスト ) =8;
Date ( Middle ( 日付テキスト ; 5 ; 2 ) ; Right ( 日付テキスト ; 2 ) ; Left ( 日付テキスト ; 4 ) )
)
文字数が8文字以外のデータは置換されないから、結果が空白のデータに関しては
目視で処理することになってしまうけど
こんなのは
Replace ( Replace ( テキスト ; 7 ; 0 ; "/" ) ;5 ; 0 ; "/" )
インポート時に自動入力オンということなら
Replace ( Replace ( self ; 7 ; 0 ; "/" ) ;5 ; 0 ; "/" )
Offline
僕ならベタに
別の計算フィールドを作成して
Middle ( date ; 1 ; 4) & "/" & Middle ( date ; 5 ; 2) & "/" & Middle ( date ; 7 ; 2)
計算結果を日付にする
って感じかなぁ
Offline
終わったのかな。
旅人さんのが一番文面通りな感じですね。
自動入力に設定するときは、インポート時のみ働くようにしないと、手入力しずらくなりますね。
Case ( IsValid ( Self ) ; Self ; ...
とか
Pages: 1
[ Generated in 0.006 seconds, 9 queries executed - Memory usage: 554.47 KiB (Peak: 582.72 KiB) ]