みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
宜しくお願いします。FileMaker14です。
対象レコードの特定フィールドに何が含まれるかを調べたいのですが、
どのようにすればよいでしょうか。
このような対象レコードを↓
三重県
奈良県
滋賀県
京都府
大阪府
京都府
大阪府
兵庫県
奈良県
奈良県
このように、重複したものを省いて取り出したいのです。
三重県
滋賀県
京都府
大阪府
兵庫県
奈良県
Offline
取り出す形式は、改行区切りのテキストです。
ボタンを押すとカスタムダイアログで出るようなものを作ろうとしているのですが、
検討もつかず、どうぞご教示お願いいたします。
Offline
そのフィールドの値に基づく値一覧を作成して、
ValueListItems ( Get ( ファイル名 ) ; "値
一覧名" )
とか、
ExecuteSQL ( "SELECT DISTINCT \"フィールド名\" FROM \"テーブル名\"" ; "" ; "" )
などありますね。
Offline
対象レコードっての見落としてました。ボツ案で(汗)
Offline
対象レコードの特定フィールド
ですから、対象レコードにフラグを立ててそれで自己リレーションし、
その動的値一覧を作って、Mozさんの計算式
ですかね。
対象レコードを変えるときにフラグをリセットする必要が有ります。
Offline
気を取り直してとりあえずの代案。
下準備
1.値を取得したいフィールドの値に基づく集計フィールドを一覧で作成します。
2.グローバル格納のフィールドを作成します。
3.↑の値に基づく値一覧を作成します。
スクリプトの流れ
1.下準備 (2) で作ったグローバル格納のフィールドに (1) で作った集計フィールドの値を[フィールド設定]
2.[レコード/検索条件確定]
3. カスタムダイアログに計算式
ValueListItems ( Get ( ファイル名 ) ; "値
一覧名" )
一時的に重複しない値の一覧が取得したいだけなら足りるかと。
Offline
年の功で安直な方法を!
答えを格納するグローバルフィールドを作って、これに下記計算式の「フィールド内容の全置換」を掛けてお終い。
Let(
[
$add=Case(FilterValues($lst; 特定フィールド)=""; 特定フィールド);
$lst=List($lst; $add)
];
Case(Get(レコード番号)=Get(対象レコード数); $lst)
)
Offline
マスタの修正履歴をとっていてそれを変えたくないと思ったのですが、
Hiro様の「フィールド内容の全置換」でも変わらないのですね!
なぜこの計算でそうなるのかは実はまだ理解できていないのですが、
別テーブルのグローバルフィールドを使用しても成功し、大変手軽に実現することができました。
皆さま、ありがとうございました。
Offline
Pages: 1
[ Generated in 0.004 seconds, 7 queries executed - Memory usage: 515.14 KiB (Peak: 519.68 KiB) ]