みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
こんにちは。
数年前から悩まされている事象なんですが、どなたかお知恵をお貸し下さい。
タイトルに書いたとおりなんですが、検索でヒットしないレコードがあるのです。
カスタムAppはオンプレミスのFileMaker Server 18で共有しています。
"受注"というテーブルがあり、そこに"担当者番号"というフィールドがあります。
ある1日の受注データが合計10件あったとして、そのうち3件が担当者番号フィールドに30という値が入っているとします。
受注テーブルを表示しているレイアウトで、担当者番号フィールドを表示させて、検索モードにしてから 30 と入力し、日付フィールドも当日を指定します。
そして検索を実行すると3件あるはずのレコードが2件しか表示されないのです。
しかし全レコードを表示させてから確認すると確かに3件レコードは存在しますし、きちんと担当者番号フィールドに3件とも30と入力されているのです。
ためしにExecuteSQLで当日のレコードを取得してみても同じで、問題のレコードを担当者番号フィールドで取得しようとしても2件しか取得できません。
しかしなぜか担当者番号フィールドを空白で指定するとヒットしてしまいます。
ExecuteSQLで担当者番号フィールドで絞り込まずに、当日の全レコードを取得すると担当者番号フィールドが空白になっているレコードなど存在しないのに。
FileMaker Serverのキャッシュの問題とかそういう類いのことなんでしょうか?
意味がわかりますでしょうか?
よろしくお願いします。
Offline
そのフィールドは、数字フィールドになっていますか。テキストですと、スペースや全角も識別しますので、ヒットしないことがあります。
また、たまに索引テーブルが破損していることがあります。最小化保存したり、フィールド定義で一旦索引無しにして、再度索引ありにするとおそらく再構成できるでしょう。
Last edited by Shin (2021-07-20 16:58:30)
Offline
Shinさん、ありがとうございました。
索引の存在とその意味を忘れていました。
再度索引を設定したところ、無事に直りました。
出先で移動中にFileMaker Goで利用していると、電波状態が悪い時などに壊れてしまうのかな
自動修復できる方法とかないんでしょうかね
Offline
索引は、レコードが確定してから再構築されるはずですので、途中で接続が切れれば無視されます。
自動修復はありませんね。ファイルを開いたときに簡単にチェックはしているようですが、索引の正当性まではチェックしていないと思います。
大きなファイルでしたら、たまに最小化保存をしてみると良いでしょう。ファイルのフラグメントが解消され、索引も整理されるようです。アクセスも速くなるので、オススメですよ。
Offline
[ Generated in 0.004 seconds, 9 queries executed - Memory usage: 508.97 KiB (Peak: 515.92 KiB) ]