みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
Win8、FM12
テキストファイルのインポート、出来ないかもしれないのですが。
タブ区切りやカンマ区切りではなく、改行で行われた場合、どうやって取り込みすれば良いでしょうか?
例
-----------------
ID:
商品名:
日付:
備考:
-----------------
となっています。
インポートしようとしても、1行目のみしか取れません。
タブ区切り(投稿でタブが使えないので、スペースで代用)
ID: 商品名: 日付: 備考:
カンマ区切り
ID:,商品名:,日付:,備考:
このようであれば。出来るのですが、そうなってないテキストファイルでしたので。
よろしくお願いします。
1行が1レコードになりますよね。
別テーブルにインポートして加工すればいいのでは。
Offline
>1行が1レコードになりますよね。
>別テーブルにインポートして加工すればいいのでは。
1行1レコードになってました。
加工とは、どのようにすれば良いのでしょうか?
インポートする前に加工しておいた方が簡単かと。
エディタで "¶商品名:" を ",商品名:" のように置換を3度する。
もしくはFMで変換するのなら、フィールドをふたつ
、ひとつめにテキストファイル全部を選択しコピペ。
ふたつめのは計算で、式は
Substitute ( フィールド ; [ "¶商品名:" ; ",商品名:" ] ; [ "¶日付:" ; ",日付:" ] ; [ "¶備考:" ; ",備考:" ] )
変換したテキストを全部選択しメモ帳にコピペ、保存。
それをFMにインポート。
Offline
一例です
4レコードごとに同じIDを振って、
インポートを4回。
1回目はIDのレコードだけを新規に
2,3,4回はIDの照合で、各フィールドに。
スクリプトにすればクリック1回だけです。
Offline
お返事いただき、ありがとうございます。
keimaさんへ
>もしくはFMで変換するのなら、フィールドをふたつ、ひとつめにテキストファイル全部を選択しコピペ。
出来ましたが、かなり手間ですね。ミスも起こしやすそう。でも、こういう方法もあるのですね。勉強になります。
テキスト→(コピペ)→FM→変換→(コピペ)→テキスト→(インポート)→FM
チポさんへ
IDは、手動で割り当てでしょうか?
インポート時に、自動でいれるのは出来ないのでしょうか?
手動で行わずに出来ないかと思っております。
インポート用のテーブルで計算フィールドを作り、
Div ( レコード番号 - 1 ; 4 ) + 1
これで、4レコードごとに同じ番号が振られます。
Offline
インポート用のグローバルフィールドを1個作る。計算値自動入力既存値置き換え
Let ( [
s = Substitute ( Self ; ":" ; ¶ ) ;
$field = GetValue ( s ; 1 ) ;
value = GetValue ( s ; 2 ) ;
$set = Evaluate ( "Let($" & $field & "=" & Quote ( value ) & " ; $field = \"備考\" )" )
] ;
Case ( $set ; 1 )
)
ID以下データの入るフィールドは計算値自動入力
Case ( インポート用 ; Evaluate ( "$" & GetValue ( Substitute ( GetFieldName ( Self ) ; "::" ; ¶ ) ; 2 ) ) )
データがそろった時点(例では4行目の備考の行)で全フィールドに入るようになるので、
どれかのフィールドを空欄禁止・常時にするとインポート時に自動削除される。
チポさんのは、
フィールド:レコード番号、入力自動化、シリアル番号を増加1
フィールド:先のレコード番号フィールドを、チポさんの式に当てはめる。
で、こちらの方は出来ました。
variantさんの方は・・・難しいですね。
ここまで書いていただけていれば、出来そうな気もするのですが、なかなか。
頑張ります。
例がフィールド4個だったので作ってみましたけど、全部のフィールドに計算値自動入力を(同じ式ですが)設定しないといけないので、面倒なだけかも。
$フィールド名という変数に順次保存しておいて、備考の行が出てきた時にフィールドに入る仕組みです。
テーブルを作ればあとはインポートするだけなので、スクリプトは1行で済む。
なんとか、運用出来るようになりました。動作確認に手間取りまして、返事が遅くなりました。
みなさまには、お返事いただきありがとうございます。
Offline
Pages: 1
[ Generated in 0.008 seconds, 9 queries executed - Memory usage: 563.94 KiB (Peak: 579.16 KiB) ]