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

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

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

You are not logged in.

Announcement

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


#1 2014-10-19 10:32:36

中川 雅允
Member

複数の電話番号の検索について

現在FileMaker13advancedを利用している、初心者です。

質問は、顧客管理を作成しているのですが、電話がかかってきたとき、電話機のディスプレイに表示される

電話番号の下4桁をFileMakerのスクリプト名「電話番号検索」のダイアログボックスに入力すれば、

該当する顧客リストを表示させるということをしたいのですが。

電話番号だけならば、ダイアログボックスで電話番号下4桁をいれて、顧客リスト検索はできるのですが、

電話番号、夫携帯電話、妻携帯電話の3種類のフィールドを同時に検索したいのです、スクリプトを色々作ってみたのですが、うまくいきません。

if関数で、ループさせるのかな?と考えるのですが、結果はうまくいきませんでした。

参考スクリプトがあれば教えていただければありがたいのですが。

Offline

#2 2014-10-19 12:07:51

旅人
Member

Re: 複数の電話番号の検索について

検索条件を3個作って、その下4桁を
電話番号、夫携帯電話、妻携帯電話
の各フィールドに入れてOR検索するスクリプトにする。

Offline

#3 2014-10-19 14:09:20

wader
Member

Re: 複数の電話番号の検索について

下4桁と決めてるなら、それを改行区切りのリストにした計算フィールドを作ってそっちを検索すると早くなるのでは。

Offline

#4 2014-10-19 16:49:02

中川 雅允
Member

Re: 複数の電話番号の検索について

旅人さん、waderさん、素早い回答ありがとうございます。
残念ながら、知識不足で回答の内容が理解できていないようで、いろいろ試したがうまくいきません
まず、電話番号、夫携帯番号、妻携帯番号は、right関数で下4桁になるように、それぞれフィールドは作成しています。
次にスクリプトを、

全レコードを表示
レイアウト切り替え
検索モードに切り替え[]
カスタムダイアログを表示  →ここに、電話番号の下4桁を入力するようにした。 問題はここで、携帯電話が指定できない。
検索実行[]

というような、スクリプトです。

旅人さんの、検索条件を3個作ってとは、新規レコード/検索条件で3個作る?
その下4桁を各フィールドにいれるとは、どのようにしていれるのか?

waderさんの改行区切りのリストにした計算フィールドがうまく作れません。

よろしくお願いします。

Offline

#5 2014-10-19 18:46:28

とおりすがり
Guest

Re: 複数の電話番号の検索について

検索語句を入力するためのグローバルフィールドを一つ準備(タイプ:テキスト オプション:データの格納をグローバル格納に)。
下四桁の計算フィールドを改行で区切って一つにまとめたものを準備。
「検索用電話番号下4桁」= Right ( 電話番号 ; 4 ) & ¶ & Right ( 夫携帯電話 ; 4 ) & ¶ & Right ( 妻携帯電話 ; 4 )

スクリプトはこんな感じ
カスタムダイアログを表示 [テーブル::グローバル検索語句]
検索モードに切り替え []
フィールド設定 [テーブル::検索用電話番号下4桁; テーブル::グローバル検索語句]
検索実行 []
If [Get ( 最終エラー ) = 401]
    カスタムダイアログを表示 ["エラー"; "検索条件に一致するレコードがありません"]
Else If [Get ( 最終エラー ) = 400]
    カスタムダイアログを表示 ["エラー"; "検索条件が空です"]
End If
ここまで

#6 2014-10-20 16:54:44

中川 雅允
Member

Re: 複数の電話番号の検索について

とおりすがし 様 ご親切な回答ありがとうございます。

最初に、管理ーフィールドから、検索用電話番号下4桁のフィールド名で、タイプ:計算、 計算結果:テキストにして

Right ( 基本情報TEL ; 4 ) & ¶ & Right ( 基本情報携帯夫 ; 4 ) & ¶ & Right ( 基本情報携帯妻 ; 4 )

を入力して、索引オプションから 計算式の指定より、グローバル格納にチェックを入れました。

それから、スクリプトを作成したのですが、スクリプトを実行すると、ダイアログボックスに電話番号4桁を入力して、OKすると、

「このフィールドは、変更禁止なので、この操作は実行できません」

という、エラーになってしまいます。

原因は、なんでしょうか? よろしくお願い致します。

Offline

#7 2014-10-20 18:14:13

チポ
Member

Re: 複数の電話番号の検索について

計算フィールドはグローバル格納ではないですよ。


しかし、
旅人さんの検索方法が常道でしょう。

検索の値は
*◯◯◯◯
として、それを3つの検索条件の各フィールド一つずつに入力。

スクリプトステップは
  新規レコード/検索条件
です。

Offline

#8 2014-10-20 18:29:38

旅人
Member

Re: 複数の電話番号の検索について

検索用の下4桁を入れるグローバルフィールドを作って
スクリプトは
検索モードに切り替え-----一時停止しない
フィールド設定[電話番号 ; "*"&グローバルフィールド]
新規レコード/検索条件
フィールド設定[夫携帯番号 ; "*"&グローバルフィールド]
新規レコード/検索条件
フィールド設定[妻携帯番号 ; "*"&グローバルフィールド]
(検索実行---条件記憶しない)

Offline

#9 2014-10-20 19:52:17

wader
Member

Re: 複数の電話番号の検索について

>right関数で下4桁になるように、それぞれフィールドは作成しています
それなら、そのフィールドだけクイック検索の対象にしたレイアウトでクイック検索したら簡単かな。

Offline

#10 2014-10-21 15:01:03

中川 雅允
Member

Re: 複数の電話番号の検索について

旅人さん、waderさん いつも回答ありがとうございます。

計算フィールドの、グローバル格納のチェックを外して、スクリプトの順番を、

カスタムダイアログを表示・・・・・・・・・・・・ 
検索モードに切り替え[]

を、下記のように変更したら

検索モードに切り替え[]
カスタムダイアログを表示・・・・・・・・・・・・ 

うまくいきました~~ ^^

アドバイスいろいろとありがとうございました。

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.004 seconds, 7 queries executed - Memory usage: 522.22 KiB (Peak: 526.76 KiB) ]