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

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

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

You are not logged in.

Announcement

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


#1 2019-03-10 01:00:15

ジェイニー
Guest

値一覧の値を完全一致検索するには

またまたお世話になります。
つい先日もお世話になりましたが、何分素人にてまたもやつまづいてしまいました。
Win7でFM13を使用しております。

私は医療従事者で、患者の治療のデータベースを作成しております。

「治療方法」というフィールドがあり
そこをドロップダウンリストで表示させていますが、
例えば、「AB」、「ABC」、「ABCD」という治療があったとします。
ツールバーの検索を押して、「AB」と入力すると全部出てきます。
演算子を使用して=ABとすれば完全に「AB」のみ抽出できるということまでは理解しております

これを「検索」というボタンを作り、「AB」を完全一致させるためには、
どのような定義が必要でしょうか、自分で考えられる範囲でいろいろやってみましたが
全て失敗でした。

こちらのセッションでも過去検索してみましたが、いまいち理解できず困っております。
どうかご教授お願い致します。

#2 2019-03-10 02:47:00

Hiro
Member

Re: 値一覧の値を完全一致検索するには

その値一覧に「=」検索演算子を接頭子として付記しておくとか、できませんか?

Offline

#3 2019-03-10 08:50:10

ジェイニー
Guest

Re: 値一覧の値を完全一致検索するには

Hiro様

またもやお世話になります。
ありがとうございます。

>その値一覧に「=」検索演算子を接頭子として付記しておくとか、できませんか?

これは、値一覧でカスタム値のそれぞれの前に「=」をつけるという意味でしょうか?
一応、いわれたようにやってみたのですが、
検索すると、「=」ABという形になり検索一致するものがないのアラートが出てしまいます。

もしかしたら、私の解釈が間違っているのかもしれませんが、
今一度ご教授お願い致します。

#4 2019-03-11 09:15:26

チポ
Member

Re: 値一覧の値を完全一致検索するには

検索モードでもドロップダウンリストで入力するのでしょうか?

そうならば、
検索実行直前に「=」を付けるスクリプトを追加すればいいのでは。

Offline

#5 2019-03-11 12:29:11

Hiro
Member

Re: 値一覧の値を完全一致検索するには

>#3 ジェイニー wrote:

これは、値一覧でカスタム値のそれぞれの前に「=」をつけるという意味でしょうか?
一応、いわれたようにやってみたのですが、
検索すると、「=」ABという形になり検索一致するものがないのアラートが出てしまいます。

『「=」をつける』とは、目的の単語内完全一致検索演算子 = を冠する、という意味です。
つまり、  AB   →   =AB      (当然、「=」AB  でなく)

Offline

#6 2019-03-11 16:23:01

ジェイニー
Guest

Re: 値一覧の値を完全一致検索するには

Hiro様、毎回ありがとうございます。

  >『「=」をつける』とは、目的の単語内完全一致検索演算子 = を冠する、という意味です。
   つまり、  AB   →   =AB      (当然、「=」AB  でなく)

おっしゃりたいことは何となく理解できますが、まだ完全に理解できてません。
冠するという意味はわかりますが、それをどのように行うのか?というのが
やはり今の私のレベルではまだ到達出来ていません。

また、早々にデータベースを動かさなければならず(素人が作成したものですから大した物ではありません(笑))、
とりあえずは、ツールバーの検索を押して、「治療方法」が検索モードになったら、頭に=ABなどを入力して検索することを部署内で統一させることにします。
お忙しい中ありがとうございました。
まだまだ改良する部位がありますが、気長にやってみようと思います。

#7 2019-03-11 16:32:55

ジェイニー
Guest

Re: 値一覧の値を完全一致検索するには

チポ様

初めまして、返信ありがとうございました。

  >検索モードでもドロップダウンリストで入力するのでしょうか?
   そうならば、
   検索実行直前に「=」を付けるスクリプトを追加すればいいのでは。

はい、そうだと思うのですが、それが出来なく困っているのです。
(お恥ずかしい話、簡単なスクリプトぐらいの意味しか理解できておりません)
が、早々にデータベースを動かさなければならず、Hiro様の返信でも書きましたが、
検索モードにした際に、=ABと入力して完全一致させることで
部署内を統一したいと思います。こういったソフトに精通しているわけではない
全くの素人です。気長に少しずつ勉強しながら、もうちょい知識を深めて行きたいと思います。
お忙しい中ありがとうございました

#8 2019-03-11 17:28:24

qb_dp
Member

Re: 値一覧の値を完全一致検索するには

スクリプトトリガ:OnobjectSave [検索時有効]で以下のスクリプトを実行とか。

フィールド設定 ["==" & Get ( アクティブフィールド内容 )]

Offline

#9 2019-03-11 18:02:25

Hiro
Member

Re: 値一覧の値を完全一致検索するには

>#8 qb_dp wrote:

スクリプトトリガ:OnobjectSave [検索時有効]で以下のスクリプトを実行とか。
フィールド設定 ["==" & Get ( アクティブフィールド内容 )]

目的が検索キーワード変換だから、検索モードではレコ―ド無指定なので、
   Get(アクティブフィールド内容)
は内容値を取得できませんよネ!^^;

Offline

#10 2019-03-11 19:30:36

まっくす
Guest

Re: 値一覧の値を完全一致検索するには

ちょっと違ったやり方ですが、私なら・・・

治療方法マスタ というテーブルを作り、「検索内容」と「表示内容」というフィールドを作ります。
検索内容 には「=AB」のようにイコールを含めた文字を、表示内容には 「AB」のように表示したい文字をいれます。
ここに検索の選択肢のAB~ABCDを入れておきます。

値一覧を作り 治療方法マスタ のテーブルを指定して 最初のフィールドに「検索内容」、2番目のフィールドに「表示内容」をいれます。
「2番目のフィールドの値のみを表示」にチェックを付けます。

グローバルフィールドを一つ用意して(仮に g_治療方法絞り込み という名称)、それをレイアウト上に設置してポップアップメニューとし、
先程作った値一覧を指定します。
後は 検索ボタンを設置してスクリプトを動かすなり、ポップアップメニューで変更された時にトリガーで動かすなりして検索します。

全レコードを表示
検索モードに切り替え [一時停止:オフ]
フィールド設定 [メインテーブル::治療方法; メインテーブル::g_治療方法絞り込み]
対象レコードの絞り込み []

って感じですね。
これの良いところは、ユーザーに選択してもらう AB ~ ABCD と 実際に検索する =AB ~ =ABCD を別々に登録できるところです。
例えばポップアップメニューでユーザが「ABC」を選んだら、「=ABBC」で検索をかける ということをif文なしで簡単に追加できます。

ジェイニーさんの求めているのと違っているかもしれませんが、参考までに。

#11 2019-03-11 23:05:55

ジェイニー
Guest

Re: 値一覧の値を完全一致検索するには

qb_dp様

初めまして、ご解答ありがとうございました。
簡単なデータを作ってみて、こちらのスクリプトトリガーを当てはめて色々試して見ます。
まだまだそこまで知識が追いついていないものでして。
ただ、少しでも知識を増やしたい状況にてありがたく試させて頂きます。
ありがとうございました


まっくす様

初めまして、ご解答ありがとうございます。
確かに、フィールドを別々にしてやるほうがすっきりしそうですね。
今現在、過去のデータベースのデータをインポートしたりなどで
そちらが落ち着いたら是非試してみたいと思います。
また、詳しく定義まで載せていただきありがとうございました。
落ち着いて、試せたらまた報告させていただきます。
(時間はかかると思いますが(笑))

#12 2019-03-12 09:09:08

チポ
Member

Re: 値一覧の値を完全一致検索するには

qb_dpさんの#8が有効ですよ。
難しく考えることではないですよね。

Offline

#13 2019-03-12 09:27:01

Shin
Member

Re: 値一覧の値を完全一致検索するには

治療方法の手入力が無い伸ならば、コード化しておき、それで管理するのが将来に渡って合理的では。値一覧も、項目を表示しておけば、今と大差ありません。表示は、リレーション先のフィールドを表示させておきます。
検索の時もコードで検索するので、そのような問題が起きません。

Offline

#14 2019-03-12 22:57:49

ジェイニー
Guest

Re: 値一覧の値を完全一致検索するには

チポ様、Shin様

アドバイス有難うございます。
今、古いものから新しいデーターベースに移行しておりまして、
可能な限り、インポート、エクスポートをしておりますが
なかなか、人が入力したものなので・・・色々ありまして整合性をあわしております(悲)
この作業が終わりましたら、再度簡易的なテストデータを作成してみて、もう一度皆様からの
アドバイスを試してみたいと思っております。

そう遠くない日にこの掲示板に訪れるかもしれません(笑)
その際は、また1つご教授お願い致します。

その他の皆様もアドバイスありがとうございました。

#15 2019-03-13 04:23:20

Hiro
Member

Re: 値一覧の値を完全一致検索するには

終わって仕舞いましたが、
一応、解法案サンプルをアップしておきます。

検索キー入力用の複フィールドの上に本フィールドをピッタリ重ねて
二つの値一覧を使い分け、目的を実装しています。

●サンプル「値一覧から検索.fmp12」 → https://yahoo.jp/box/_3pqKW

Offline

#16 2019-03-13 08:53:47

qb_dp
Member

Re: 値一覧の値を完全一致検索するには

Hiro wrote:
>#8 qb_dp wrote:

スクリプトトリガ:OnobjectSave [検索時有効]で以下のスクリプトを実行とか。
フィールド設定 ["==" & Get ( アクティブフィールド内容 )]

目的が検索キーワード変換だから、検索モードではレコ―ド無指定なので、
   Get(アクティブフィールド内容)
は内容値を取得できませんよネ!^^;

Hiroさん、
検索モードで以下でも大丈夫です...。

フィールド設定 ["==" & Get ( アクティブフィールド内容 )]

Offline

#17 2019-03-13 20:47:32

ジェイニー
Guest

Re: 値一覧の値を完全一致検索するには

Hiro様、

すいません、一度閉めてしまいました。(自分が今ゆっくり値一覧の検索を試すことが出来ない状況にて)
今、旧→新DBの移行作業が随分かかっていまして、とりあえずは=AB検索で
その場をしのいだ感じです。

移行作業終わりましたら、皆様からのアドバイスを試させて頂きます。
さきほど、Hiroさんが提示していただいたものを少し見たのですが、
「うわ~~~」こんな技なんだと驚愕でした。
これは、素人には真似できませんでした(笑)
いやはや、今回も非常に勉強になりました。本当にありがとうございました。

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.012 seconds, 9 queries executed - Memory usage: 607.79 KiB (Peak: 624.7 KiB) ]