みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
以前の投稿で、「指定した文字列からフィールドの分割」2018-02-01
についてを勉強させていただきました。
次の疑問が出てきました。
環境:Mac10,12 FM16
一つのフィールドに
【A】あああ【B】いいい【C】ううう
【A】ええええ【B】おおお【C】かかかかか
【A】きききき【B】くくくく【C】けけけけけ
と改行されたテキストが入っている状態で
レコード1
【A】フィールド「あああ」
【B】フィールド「いいい」
【C】フィールド「ううう」
レコード2
【A】ええええ
【B】おおお
【C】かかかかか
レコード3
【A】きききき
【B】くくくく
【C】けけけけけ
とフィールドへ区切って、新規レコードを作成する方法を教えてください。
規則は【】で囲んだアルファベットが入ります。
どのように考えれば良いか分かりませんのでよろしくお願いします。
Offline
・リストを繰り返しフィールドに持ち替えて
・その繰り返しフィールドをレコード分解のオプション指定してインポート
するのが良いでしょう。
Offline
> 【A】あああ【B】いいい【C】ううう
A,B,Cが欠けている行は有りますか?
全ての行にA,B,Cの三つが必ずあるか?
という質問です。
Offline
JSONに変換して抽出 一例:
【A】あああ【B】いいい【C】ううう
【A】ええええ【B】おおお【C】かかかかか
【A】きききき【B】くくくく【C】けけけけけ
上記を置換
Substitute ( "#####¶" & 上記テキスト
; ["¶【" ; "¶{\""]
; ["【" ; "\",\""]
; ["】" ; "\":\""]
; ["¶" ; "\"},¶"]
; ["#####\"}," ; "["]
)&"\"}¶]"
結果
[
{"A":"あああ","B":"いいい","C":"ううう"},
{"A":"ええええ","B":"おおお","C":"かかかかか"},
{"A":"きききき","B":"くくくく","C":"けけけけけ"}
]
1行目の【A】の値を取得
JSONGetElement (Result ; "[0].A")
1行目の【B】の値を取得
JSONGetElement (Result ; "[0].B")
2行目の【A】の値を取得
JSONGetElement (Result ; "[1].A")
.....とか。
Offline
Hiroさん チポさん qbdpさん
有り難うございます。
チポの質問のABCは必ずあります。
qbdpさん、少々難しいので時間をかけてゆっくり試して見ます。
Offline
>#2で説明した繰り返しフィールドのレコード分解インポートは、面倒なので、
代わって、スクリプトだけで直接解決する方法の作例サンプルをアップしました。
●作例サンプル「g文字列からデータレコード作成.fmp12」 → https://1drv.ms/u/s!AlaCGhTKTWEOp3k7Vdu … s?e=dicGRZ
【 デモ画像 】
Last edited by Hiro (2020-05-12 21:38:42)
Offline
Hiroさん
有り難うございます。
出来ました。分析して自分でも出来るようにします。
Offline
Pages: 1
[ Generated in 0.009 seconds, 9 queries executed - Memory usage: 513.92 KiB (Peak: 518.83 KiB) ]