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

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

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

You are not logged in.

Announcement

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


#1 2019-07-23 12:11:48

kirari
Member

検索フィールドに履歴を残す仕組みを作成したい

<やりたいこと>
検索フィールドに履歴を残す仕組みを作成したいのです。

ファイルメーカーの右上に備わっている検索フィールドと同じように
画面上にもうけたいのです。理由は右上にあるとわかりにくいので、画面上の真ん中にもうけて使いやすくするためです。

フィールド、検索設定はできました。
履歴を残す方法について調べたところ、レコードに保存済み検索という機能があることを確認しましたが、
画面上の真ん中でできる方法をアドバイスいただけるとありがたいです。

どうぞよろしくお願いいたします。

FilemakerPro

Offline

#2 2019-07-23 13:47:26

Shin
Member

Re: 検索フィールドに履歴を残す仕組みを作成したい

ステータスツールバーのカスタマイズ をすると、位置は変更できますが。

Offline

#3 2019-07-23 17:46:19

kirari
Member

Re: 検索フィールドに履歴を残す仕組みを作成したい

ステータスツールバーの検索バーと同じ機能を持つ検索フィールドを別途上部ナビゲーションに
もうけたいと思います。そのナビゲーションにもうけた検索フィールドに履歴を残したいのです。
ドロップダウンリストでキーワードの履歴を残すような仕組みで考えているのですが、値をあえて設定するのではなく、
その時々に応じてキーワードを入力し、不要になればクリアするということはできないでしょうか。
アドバイスよろしくお願いいたします。下記にファイルを添付いたします。
http://dtbn.jp/cYWnbY1

Offline

#4 2019-07-23 17:59:45

kirari
Member

Re: 検索フィールドに履歴を残す仕組みを作成したい

また、ステータスツールバーの検索バーなのですが、検索キーワードを入れても反応しません。スクリプトステップにもそれらしいステップは見当たらず、
どこが悪いのかもわかりません。ごめんなさい。アドバイスいただけないでしょうか。

Offline

#5 2019-07-23 20:28:17

koeda
Member

Re: 検索フィールドに履歴を残す仕組みを作成したい

「ステータスツールバーの検索バー」とはクイック検索のことですか?
だとすれば、インスペクタで検索対象となるフィールドについて
「クイック検索にフィールドを含める」のチェックを入れておく必要があります。

Last edited by koeda (2019-07-23 20:53:09)

Offline

#6 2019-07-23 20:47:30

Moz
Member

Re: 検索フィールドに履歴を残す仕組みを作成したい

クイック検索の対象となるのはkoedaさんが書かれているように
[クイック検索にフィールドを含める]のチェックが入ったフィールドのみです。
早い話がレイアウト上に配置されているフィールドまたはマージフィールドが対象です。

反応しないというのはどのような状態を指しますか?
例えばあり得ないキーワードを入れた場合でもエラーダイアログは表示されませんか?

また、履歴を取るというのはどのような目的で必須なのでしょう。
クイック検索を任意のフィールド内容で行うためには[クイック検索の実行]スクリプトステップを利用します。

クイック検索の実行
https://fmhelp.filemaker.com/help/18/fm … -find.html

クイック検索などの簡易な検索について、
またスクリプトの作成方法についてはFileMaker Master Book の初級編が役に立ちます。
https://www.filemaker.com/jp/learning/
※クイック検索は第4章で詳細に説明されています。

同じ検索条件を再利用したいという場合には第6章が役に立つでしょう。
Google検索の様なドロップダウンではありませんが充分に使えますよ。

他のスレッドでもお伝えしましたが
大変失礼ながら目的と現在の技量にミスマッチがあるように思えます。

使い勝手向上のための複雑な機能を実装することよりまずは動作するカスタムAppを作れることが大切です。

Last edited by Moz (2019-07-23 20:49:33)

Offline

#7 2019-07-24 11:29:13

kirari
Member

Re: 検索フィールドに履歴を残す仕組みを作成したい

koeda様
ありがとうございます。

Moz様
ありがとうございます。自分のやろうとしていることが力量と大きくかけ離れていることは認識しています。質問させていただくことに
申し訳ないと感じています。早く使えるように頑張ります。

Offline

#8 2019-07-24 12:22:35

Moz
Member

Re: 検索フィールドに履歴を残す仕組みを作成したい

質問することは悪いことではないですよ。

アイデア自体は面白いですし
アドバイスからヒントを得て発展できそうなのでその手前で詰まってしまうのが勿体ないなと思うのです。

まずは各アドバイスで質問されている内容に答えてクイック検索が動いていない問題について解決しましょう。

Offline

#9 2019-07-24 12:55:07

koeda
Member

Re: 検索フィールドに履歴を残す仕組みを作成したい

履歴を残す、という場合、
・履歴はいつまで残すのか?(→アプリ終了時に消して良いのか?クリアボタンを押すまで永続的に保存か?)
・アプリは複数のユーザで共有して使う?(→ユーザ単位での履歴管理が必要か?)
・ヒットしなかった検索キーワードは履歴として保存するのか?
といった細かい検討課題が出てきますね。

ドロップダウンリストで作る、ということを前提に考えるよりも、
まず最低限どういう機能を実現したいかを検討して、次にそれを実現するにはどういう部品(やテーブル)
を利用するのが良いかをお決めになったら、と思います。

クイック検索と全く等価のものを作りたいのか or より高機能なもの or もっとシンプルなものなのか、
によって作り方が大きく違ってくるかもしれません。

クイック検索で不満なのは、表示位置の問題くらいですか?

Offline

#10 2019-07-24 13:35:37

kirari
Member

Re: 検索フィールドに履歴を残す仕組みを作成したい

Moz様
ありがとうございます。
はい、一つずつ解決したいと思います。

Last edited by kirari (2019-07-24 13:35:56)

Offline

#11 2019-07-24 13:40:15

Shin
Member

Re: 検索フィールドに履歴を残す仕組みを作成したい

大まかなことは、クイック検索の実行,、と、Get (クイック検索テキスト) を使って見ては、
テキストを取得して別テーブルへ保存していき、それをドロップダウンで見せる、という動きで実現できそうです。
https://www.dropbox.com/s/b8q8z3piriu38 … 2.zip?dl=0

Last edited by Shin (2019-07-24 13:59:26)

Offline

#12 2019-07-24 14:04:20

kirari
Member

Re: 検索フィールドに履歴を残す仕組みを作成したい

koeda様、Moz様
ありがとうございます。
クイック検索問題解決しました。

koedaさんからアドバイスいただいた

koeda wrote:

「クイック検索にフィールドを含める」のチェックを入れておく必要があります。

でした。
すみません。気をつけます。

koeda wrote:

クイック検索で不満なのは、表示位置の問題くらいですか?

表示位置については移動させる方法、ステータスバーをカスタマイズするを選択することで対応が可能ということがわかりましたので
大丈夫です。ありがとうございます。

検索の保存条件を残す(履歴を残す)という問題なのですが、経緯として。

最初、Mozさんからアドバイスいただいたレコードにある保存済み検索を選択して、と対応で
進めていたのですが、ツールバーにあるクリック検索と同等のもので何とかならないかと言われ、
ドロップリストでキーワードを入れて残す方法を考えることにしました。

koedaさんが仰られるように、

koeda wrote:

履歴を残す、という場合、
・履歴はいつまで残すのか?(→アプリ終了時に消して良いのか?クリアボタンを押すまで永続的に保存か?)
・アプリは複数のユーザで共有して使う?(→ユーザ単位での履歴管理が必要か?)
・ヒットしなかった検索キーワードは履歴として保存するのか?
といった細かい検討課題が出てきますね。

があります。

本を参考にして、
昨日私があげたファイル内の検索フィールドに入力するごとに値が増える値一覧を設定しようとすると、検索フィールドは
グローバル設定にしているのでフィールドに値を登録することができないようなことになってしまいます。
ただ、フィールドにキーワード(値)を残したとしても、履歴が残ってしまう、という問題も発生し、作業が止まった状況になっています。

どこに解決の糸口があるのかすらもわからないので、アドバイスをいただけないでしょうか。

Offline

#13 2019-07-24 14:23:01

kirari
Member

Re: 検索フィールドに履歴を残す仕組みを作成したい

Shin様

ありがとうございます。
すみません。質問させてください。テーブルのフィールドの「g_Account」とリレーションシップの履歴テーブルが2つあるのが
わかりません。履歴テーブルの一つとテーブルがリレーションシップしているのはわかりました。ご教示いただけないでしょうか。

Last edited by kirari (2019-07-24 14:35:04)

Offline

#14 2019-07-24 16:17:10

koeda
Member

Re: 検索フィールドに履歴を残す仕組みを作成したい

kirari wrote:

どこに解決の糸口があるのかすらもわからないので、アドバイスをいただけないでしょうか。

まずはShinさんのサンプルをしっかりと理解してください。
これがどのように動いているか理解してからでないと先に進めないと思います。

履歴テーブルが2つあるのは(正確には、テーブルではなくオカレンスが2つ、ですが)、
その役割が異なるからです。
「履歴テーブル」は履歴を表示するためのオカレンス
「履歴テーブル 2」は履歴を記録・保存するためオカレンス

まず値一覧をご覧ください。元になっているフィールドは"履歴テーブル"になっています。

次にスクリプトをよくご覧ください。履歴の保存対象のテーブルは"履歴テーブル 2"になっています。
またリレーションシップの定義で履歴テーブル 2だけ「レコードの作成を許可」がチェックされている
ことにも着目してください。このチェックがないとスクリプトが意図通りに動きません。

…といったことをヒントに、Shinさんのサンプルを真似てご自分のアプリケーションに組み込まれて
見たらいかがですか?そして動かしながら(あるいは最初は動かないかもしれないけど)、一つ一つ理解を
深められると、次へ進めるのでは?頑張ってください。

(補足)
このサンプルには、
●フィールドを元にした値一覧
●グローバルフィールドの使い方
●テーブルオカレンスの目的に応じた使い分け
●リレーションシップを利用したレコードの作成
…など、FileMakerを使いこなす上で必須のテクニックがいくつも組み合わさっています。
習得できればかなりのステップアップ!

Last edited by koeda (2019-07-24 16:29:30)

Offline

#15 2019-07-25 10:15:03

kirari
Member

Re: 検索フィールドに履歴を残す仕組みを作成したい

Shin様、koeda様

ありがとうございます。Shinさんのファイルと同じ様に自分でも作成したのですが
クイック検索にキーワードを入れても別ファイルに履歴が残らないのです。
スクリプトの書き方が間違っているのでしょうか。アドバイスいただけないでしょうか。

http://dtbn.jp/yC0jck1

Offline

#16 2019-07-25 10:16:49

Shin
Member

Re: 検索フィールドに履歴を残す仕組みを作成したい

値一覧の定義も設定もありませんよ。

ファイルを公開されるはいいのですが、このサイトでも公開では、明後日にこのページを見た人は何のことかわからなくなります。
そのために、私の公開しているファイルは、半永久的(たまにサーバーの仕様変更でリンクが変わりますが)にダウンロード可能な状態にしてあります。ご配慮を。

koedaさん、無茶無茶詳しい解説ありがとうございます。私が描かないといけなかったのですが。

Last edited by Shin (2019-07-25 10:23:25)

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.008 seconds, 10 queries executed - Memory usage: 562.6 KiB (Peak: 583.51 KiB) ]