みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
同一テーブルにデータを抽出したい
例:会社名 会社番号
あ 1
あ 2
あ 3
い 1
い 2
い 3
会社名は「あ」に決めて、「あ」会社に対して会社番号の中に、一番小さいの方を抽出したい
Offline
いろいろ方法はあると思いますが、、
手順を
会社名で検索
番号の昇順でソート
最初のレコードへ
全レコードを表示
レコードを対象外に
対象外のみを表示
これをスクリプトにすればいいでしょう。
Offline
if [$activeFieldName] ="KSNM"
変数を設定[$dup ; 値: false // 重複しています]
変数を設定[$KS_ID1;値:Get(レコードID)]
検索実行[]
if[Get(対象レコード数)]
レコード/検索条件/ページへ移動[最初の]
Loop
変数を設定「$KS_ID2;値:Get(レコードID)」
if [$KC_ID1] ≠ $KS_ID2
変数を設定[$dup;値:True]
exit Loop If [True]
end if
レコード/検索条件/ページ移動[次の;最後までできたら終了:オン]
end Loop
end if
今重複の確認できましたけど、今回は重複でわない、複数存在のチェックと複数存在のデータが一番小さいの方を取得したい。
いろいろ方法はあると思いますが、、
手順を
会社名で検索
番号の昇順でソート
最初のレコードへ
全レコードを表示
レコードを対象外に
対象外のみを表示これをスクリプトにすればいいでしょう。
Offline
書かれたスクリプトが何をしたいのかさっぱり分かりません。
最初の質問と趣旨が違うのでは?
Offline
スクリプト名は CharaNumCheck()->(bool)_OnObjectValidate
目的は 会社名入力されたら、次のテキストに移動する時、会社番号が一番小さいの方自動的に表示されます
書かれたスクリプトが何をしたいのかさっぱり分かりません。
最初の質問と趣旨が違うのでは?
Offline
スクリプト名を書かれても。。
もう一度質問を確認します
> 会社名は「あ」に決めて、「あ」会社に対して会社番号の中に、一番小さいの方を抽出したい
ですか?
ならば、わたくしのステップをお試しください。
Offline
抽出とか、次のテキストに移動、とか、FMの用語を使って説明しないので何がしたいのかわかりづらい。
それ以前に、日本語ネイティブでない方と思われますが、もし英語の方が得意ならClarisの英語コミュニティの方をお勧めします。
>重複の確認できました
というけど、ループでレコードIDを比較しなくても、検索結果が2行以上なら重複なのでは。
検索モードでフィールドに入れた値を元に何かやりたいようですが、検索条件として自動的に最小値を追加、でいいんですか?
それとも検索条件は会社名だけのまま、複数の検索結果の最小値のレコードを選択(レコードへ移動)したい?
Pages: 1
[ Generated in 0.006 seconds, 10 queries executed - Memory usage: 562.3 KiB (Peak: 569.27 KiB) ]