みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
お世話になっております。FMP11 Mac 使用です。
ちょっとややこしい話で恐縮です。
ポータルで、各行に「区分」と「商品名」が入力されています。
例えば
区分・・・商品名
1 ・・・ピアス
1 ・・・指輪
5 ・・・かばん
7 ・・・ドレス
7 ・・・カーディガン
7 ・・・ハイヒール
と入力されているときに、最終的にこれをHTMLで
区分:1<BR>
ピアス,指輪<BR>
<BR>
区分:5<BR>
かばん<BR>
<BR>
区分:7<BR>
ドレス,カーディガン,ハイヒール<BR>
<BR>
という形で書き出したいのですが、どのような方法があるでしょうか?
ポータルへの入力がすべて終わったタイミングでスクリプトを起動させる方法を考えていますが、HTMLを計算フィールドにする方法でも構いません。
よろしくお願いいたします。
Offline
ポータル内に区分と商品名を連結するフィールドを作っておけば、全体は
Substitute ( List ( ポータル::連結 ) ; ¶ ; "<BR>¶" )
calcerさま
早速のご回答ありがとうございます。
理解度が低くてすみません、その方法だと商品ごとに区分と商品名が連結されてしまうように思います。
今回やりたいのは、区分1の商品がピアスと指輪である場合に、
■ 区分は一箇所だけ、
区分:1<BR>
とする、
■ 商品はその区分の直下にまとめて、
ピアス,指輪<BR>
とする、
ということでして、
要するに商品を区分単位でまとめてListにする方法と、そうしてListされた商品を区分とセットにして、HTMLのフィールドに繰り返して記述する方法を教えていただきたいのです。
区分:1<BR>
ピアス,指輪<BR>
<BR>
↑これがひとつの単位で、これを区分ごとに繰り返す必要があります。
わかりづらくて申し訳ありません。
引き続きよろしくお願いいたします。
Offline
スクリプトの考え方。
ポータルの最初の行へ
変数k = 区分
変数t = "区分:" & 区分 & "<BR>¶" & 商品名
Loop
If 区分 ≠ 変数k ?
変数k = 区分
変数t = 変数t & "<BR>¶<BR>¶" & "区分:" & 区分 & "<BR>¶" & 商品名
Else
変数t = 変数t & "," & 商品名
End If
次のポータル行へ[最後まできたら終了]
End Loop
変数t = 変数t & "<BR>¶<BR>"
これで変数tにHTMLが作られます。
検証していません、
細かなところで間違えているかも、よく確かめてください。
Offline
チポさま
ありがとうございます。返信が遅くなってしまい申し訳ありません。
教えていただいたスクリプトを作ってみたのですが、以下の点でうまくいきません。
1.すべての商品をカンマで区切った商品名が、ポータル行分繰り返して表示されてしまいます。
質問文の例では、
区分:1<BR>
ピアス,指輪,ピアス,指輪,ピアス,指輪,ピアス,指輪,・・・
とポータル行分繰り返してしまいます。
2.区分ごとに同じ単位を繰り返したいのですが、一番上の区分しか処理できません。
せっかくここまで教えていただいたのであとは自分で何とかしようといろいろやってみたのですが、恥ずかしながら設定している変数の意味が十分にわからず、解決できませんでした。お手数ですが引き続きアドバイスいただけますと幸いです。
どうぞよろしくお願いいたします。
Offline
ちなみにですが、HTMLを計算フィールドにするパターンにも挑戦しようとLet関数で同様の処理をしようとしたのですが、スクリプトステップでない場合にLoop処理の方法がわからず断念しました。。
Offline
Pages: 1
[ Generated in 0.005 seconds, 7 queries executed - Memory usage: 558.3 KiB (Peak: 582.45 KiB) ]