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

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

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

You are not logged in.

Announcement

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


#1 2017-12-06 11:38:26

eddie
Member

検索条件にフィールド値を利用したい

いつもお世話になっております。 FMP11 Mac 使用です。
以下の投稿と同じような課題をクリアできずにいます。

「スクリプト検索条件に変数を使う」
http://joy-h.com/bbs2/viewtopic.php?id=1161

やりたいことは単純で、「最先期限」という日付フィールドの値が、今日の日付以降(今日を含みます)のものを、レイアウト読み込み時に絞り込みたいです(トリガ使用)。

たまたま他で今日の日付を利用するフィールド(グローバル)があるので、これを利用して、以下のようなスクリプトステップを組んだのですが、検索条件が有効でないというエラーが出ます。

フィールド設定[テーブル::今日; Get(日付)]
変数を設定[$today;値:テーブル::今日]
全レコードを表示
対象レコードの絞り込み[記憶する]
レコードのソート[記憶する;ダイアログなし]

対象レコードの絞り込みの検索条件は、「≥$today」としています。

あるいは、変数を [$today;値:"≥"&テーブル::今日] と設定して、検索条件を単に「$today」としても、やはり同様です。

どのようにすればよいでしょうか?よろしくお願いいたします。

Last edited by eddie (2017-12-06 11:42:51)

Offline

#2 2017-12-06 12:02:37

チポ
Member

Re: 検索条件にフィールド値を利用したい

ステップ
  検索実行
じゃないと変数が使えないんじゃなかったかな。。

全レコード表示
をしているのですから、
検索実行でも絞り込みでも結果は同じですよね。


間違いないのは
  検索モード
  フィールド設定

の手順でしょう、これなら変数を使わずにできます。

Offline

#3 2017-12-06 12:30:10

Moz
Member

Re: 検索条件にフィールド値を利用したい

[対象レコードの絞り込み]でも変数は利用できます。
同様のスクリプトを組んで動作します。

・[対象レコードの絞り込み]正しいフィールドを指定できていない
・[フィールド設定]に失敗しているあるいは値が取得できていない

エラーメッセージから考えると後者だと思われます。
→変数に Get ( 日付 ) が取得できているか確認してみては如何でしょう。

また、同じスクリプト内で Get ( 日付 ) をフィールド設定している目的は何ですか?
変数に直接 Get ( 日付 ) でも構わない気がしますが......

余談ですが検索条件を //... にしても今日以降になります。

Last edited by Moz (2017-12-06 12:30:58)

Offline

#4 2017-12-06 12:36:44

Moz
Member

Re: 検索条件にフィールド値を利用したい

とりあえずサンプルです。
https://yahoo.jp/box/JJef2z

Offline

#5 2017-12-06 13:27:57

Shin
Member

Re: 検索条件にフィールド値を利用したい

今日以降を検索するのでしたら、条件に ≥// とすれば十分ですよ。

Offline

#6 2017-12-06 13:55:12

eddie
Member

Re: 検索条件にフィールド値を利用したい

チポさん、Mozさん、Shinさん、ありがとうございます。
おかげさまで解決しました。

Mozさんにご用意いただいたサンプルを拝見して、私のものと同じ構造なのになぜ・・・といろいろいじったところ、トリガのかけかたが間違っていたことが判明しました。。

OnRecordLoadを設定していましたが、これだと検索で止まってしまいます(すみません理由はよくわかりません)。
これをOnLayoutEnterに設定したところ、問題なく動きました。いろいろ教えてくださりありがとうございました。ただこうすると日付をまたいで作業しているときにレコードを移動しても更新されないという課題が出てきますが、実際の運用ではほとんど問題にならないので、今回は無視することにします。

オマケ的に、

>同じスクリプト内で Get ( 日付 ) をフィールド設定している目的は何ですか?
>変数に直接 Get ( 日付 ) でも構わない気がしますが......

という点につきましては、どうせレイアウト読み込み時に今日の日付は更新しないといけないので、本件と関係なくフィールド設定は必要なため、この値を使おうと考えたためです。おっしゃる通り変数に直接設定しても、まったく問題ないと思います。

なお、Shinさんに教えていただいた条件がわかりやすいので、今回はこれを使用したいと思います。ただ他に特定の日付で検索するスクリプトも必要なので、そちらでは今回教えていただいたものを活用します。
ありがとうございました。とても助かりました。

Offline

#7 2017-12-06 15:48:30

チポ
Member

Re: 検索条件にフィールド値を利用したい

Mozさん
> [対象レコードの絞り込み]でも変数は利用できます
そうでしたか、お詫びして取消をお願いいたします。

Offline

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.006 seconds, 9 queries executed - Memory usage: 563.27 KiB (Peak: 582.55 KiB) ]