初心者のFileMaker pro Q&A (旧掲示板)

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

You are not logged in.

Announcement

新しい掲示板は、こちら:https://fm-aid.com/forum/t/filemaker


#26 2022-03-04 09:13:20

チポ
Member

Re: 複数条件検索(Excelシートからインポート)した検索条件テーブルを使った検索スクリプトの作り方

スクリプトの添削を、、

ご承知の上でならいいのですが、
2番目のフィールドから判定を始めています。
フィールドの数で制御していますから、
全部のフィールドに回ると思いますが、
前に書かれたように、最後のフィールドで抜けると、
最初のフィールドが置き去りになっちゃいますね。

値のあるフィールドでループを抜けて、
また次のフィールドから回っていますが、
ループを抜けずに、リストを設定すれば、
この部分の二重ループが解消できます。

グローバル変数の使用、
無限ループ、
どちらもスクリプトが正確なら考えられません。

1000万レコードのテーブルと、
検索用の一時保管テーブル
をひとつのファイルに置くのはどうでしょうか?
リスク削減で考えたら別ファイルのほうがいいかもしれませんよ。

ファイルをまたいだ場合、
変数で値を渡すことはできませんから、
スクリプト引数で渡すことになりますね。

Offline

#27 2022-03-04 10:42:23

2022_Feb_QQ
Member

Re: 複数条件検索(Excelシートからインポート)した検索条件テーブルを使った検索スクリプトの作り方

himadaneeさま、チポさま

トピック投稿者の2022_Feb_QQでございます。
御指南ありがとうございます。
変数の$$は、ご指南頂きましたとおり、すべて$に戻しても動くことが確認できました。
ありがとうございました。

前回の投稿スクリプトとのつながりがわかりやすいように、
以下のスクリプトでは、$$を残した形で記載したままにさせて下さい。

himadaneeさま
ご指摘の件、
        Exit Loop If [ $カウント2>$$カウント ] のミスタイプでした。

チポさま
・ フィールドは、一番目のフィールドにレコードIDを追加したので、2番目からの検索で
    OKになりました。前提変更のコメント記載漏れのため、混乱させてしまい申し訳ございませんでした。

・三重ループの件、下記のスクリプトのようにループを二重にしてみましたが、
   仮に記載のあるフィールドが、最初のレコードの3番目のフィールドの場合、
   1つ目のレコードの3番目のフィールドの内容を取得し、
   次のレコードに移動すると、
   次のレコードは、4番目のフィールドからしか検索が始まらない現象が起こっています。

    フィールドの数で制御したかったのですが、途中のフィールドで次のフィールドに移った際に
    最初のフィールドから検索が始まらないため、Exit Loop If もフィールドの数で制御できなかったので、
    フィールド制御のスクリプトを一旦消しました。

ーーーーー
Loop
       Loop
               次のフィールドへ移動
                 Exit Loop If [ not IsEmpty ( Get ( アクティブフィールド内容 ) ) ]
       End Loop

       変数を設定 [ $$リスト; 値:List($$リスト; Get ( アクティブフィールド名 ); Get ( アクティブフィールド内容 ) ) ]

       レコード/検索条件/ページへ移動 [ 次の; 最後まできたら終了 ]
       変数を設定 [ $$カウント2; 値:$$カウント2∔1 ]
       Exit Loop If [ $$カウント2>$$カウント ]
End Loop
ーーーーーー

恐れ入りますが、次のレコードに移動した時に最初のフィールドから検索を始めるには
どうしたらよろしいのでしょうか?
ご指南いただけましたら、幸甚に存じます。

よろしくお願いいたします。

Offline

#28 2022-03-04 11:44:44

チポ
Member

Re: 複数条件検索(Excelシートからインポート)した検索条件テーブルを使った検索スクリプトの作り方

ああ、わたくしの読み違いでした。
前スクリプト、ループの前で最初のフィールドに行っていると思ってしまいましたが、
そのようなステップはありませんでしたね。


  フィールドへ移動 [] (何も指定しない)

  レコード確定
でなにも選択されていない状態になります。
これで、
  次のフィールドへ移動
で最初のフィールドへ行きますね。


検索対象にならないフィールドにはタブ順を振らなければ
  次のフィールドへ移動
でそれが選択されることはありませんよ。

Offline

#29 2022-03-04 15:51:30

2022_Feb_QQ
Member

Re: 複数条件検索(Excelシートからインポート)した検索条件テーブルを使った検索スクリプトの作り方

チポさま

トピック投稿者の2022_Feb_QQでございます。
丁寧にご指南賜り、ありがとうございます。

教えて頂きました通り、

   レコード/検索条件/ページへ移動 [ 次の; 最後まできたら終了 ]

の次の行に
   レコード/検索条件確定 [ダイアログあり:オフ]

を追記いたしましたところ、無事、全件検索条件を取得することができました。

なんとか無事にスクリプトを完成できましたのは、
チポさま、himadaneeさまが、
基礎の基礎もわかっていない小生に、諦めずに辛抱強くお付き合いくださり、
ご指南下さったおかげだと心より感謝しております。

本当にありがとうございました。
今後とも、お世話になることもあるかと思いますが、何卒、
よろしくお願い申し上げます。

Offline

Registered users online in this topic: 0, guests: 0

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.009 seconds, 9 queries executed - Memory usage: 557.3 KiB (Peak: 582.63 KiB) ]