みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
また帳票の表記だけの問題なのですが、教えてください。
1つのレコードに下記のように改行でデータが纏められてしまっているのですが、
======
あああ
いいい
ううう
ええええ
おおお
かかかかか
きききき
くくくく
けけけけけ
=======
上記を別のテーブルのフィールドに
新規レコードとして、下記のように格納したいのですが、教えて頂けますでしょうか?
Loopでカウントを重ねながらLet関数で値を区切って、新規レコード/フィールド設定を続けていくしかないかと思うのですが、
Let関数の中身が思いつかず、、宜しくお願い致します。
======
あああ
いいい
ううう
======
======
ええええ
おおお
======
======
かかかかか
きききき
くくくく
けけけけけ
=======
Offline
連続した改行だけレコード区切りで、単独の改行はそのままフィールドデータにするという意味ですか?
himadaneeさん、コメント有難うございます。
連続した改行だけレコード区切りで、単独の改行は各レコードに含めない形になります。
(もしくは単独の改行は各レコードの最後尾に残る形でも構いません。)
Offline
単独の改行を含めないなら
======
あああ
いいい
ううう
======
ではなく
======
あああいいいううう
======
になりますよね。
Substitute ( TXT ;[ ¶ ; Char(1) & Char(2) ];[ Char(2) & CHar(1) ; ¶ ];[ Char(1) ; "" ];[ Char(2) ; "" ])
で、レコードごとに¶で区切られます。これを、GetValue() すればいいです。単独の改行を含めるなら、
Substitute ( TXT ;[ ¶ ; Char(1) & Char(2) ];[ Char(2) & CHar(1) ; ¶ ])
にしておき、分離した後で、
Substitute ( TXT ;[ Char(1) & Char(2) ; ¶];[ Char(1) ; "" ];[ Char(2) ; "" ])
Last edited by Shin (2023-02-20 10:39:52)
Offline
改行2回ごとに繰り返しフィールドにすればそれをインポートで簡単ですね。
繰り返しの計算式は
GetValue ( Substitute ( テキスト[1] ; [¶ ; Char (1)] ; [Char (1) & Char (1) ; ¶ ] ; Get (計算式繰り返し位置番号) )
これで、各繰り返し位置に1レコード分が入りますが、
文字区切りにChar (1)が入っていますから、ご希望の文字に変えればいいですね。
これをばらしてインポートすればいいでしょう。
Last edited by チポ (2023-02-20 10:57:15)
Offline
himadaneeさん、申し訳ありません。私が質問を正しく理解していなかったです。
単独の改行を含める形でした。
Shinさん、チポさん
有難うございます。御二方の案でいけることを確認しました。
Shinさんの案だと、下記でできました!!
変数を設定[$txt ; 値 ; テーブル1::纏めデータ]
変数を設定[$cnt ; 値; 0]
Loop
Exit Loop if[Let([ $cnt=$cnt+1;
$itm=Substitute ( GetValue ( Substitute ( $txt ;[ ¶ ; Char(1) & Char(2) ];[ Char(2) & Char(1) ; ¶ ]);$cnt) ;[ Char(1) & Char(2) ; ¶];[ Char(1) ; "" ];[ Char(2) ; "" ])];
$cnt>ValueCount($txt)
)]
Exit Loop if [ IsEmpty ( $itm ) ]
新規レコード/検索条件
フィールド設定[テーブル2::個別データ; $itm]
レコード/検索条件確定
End Loop
Last edited by Alex (2023-02-20 15:29:36)
Offline
Pages: 1
[ Generated in 0.009 seconds, 9 queries executed - Memory usage: 558.59 KiB (Peak: 582.66 KiB) ]