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

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

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

You are not logged in.

Announcement

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


#1 2015-07-06 17:07:38

jose
Member

名前を頭文字(かな行)で検索する仕方

名簿テーブルがあります。( ID : 名前 : ふりがな : 連絡先)など

ふりがなで検索抽出してソートをかけたいと思っています。
使用として、グローバルフィールド:頭文字(ドロップダウンかポップアップ)を作成
値一覧に「あ、か、さ、・・・」と”かな列”を作成

例えばグローバルフィールド:頭文字(ドロップダウン)で「あ」を選択したときに、「ふりがな」フィールドのあ行のレコードだけ抽出したいのですが、どのようにやるか具体的な例がありましたら、ご教授頂けるでしょうか
よろしくお願いします。

Offline

#2 2015-07-06 17:36:59

チポ
Member

Re: 名前を頭文字(かな行)で検索する仕方

あ行は
  ふりがな >= あ
  and
  ふりがな < か (あ行の次の行の最初の文字)
です。

これで検索するか、
範囲のリレーションで関連レコードへ移動
どちらでもできますね。


または、
レコードに「行」を持たせれば簡単になりますね。

Offline

#3 2015-07-07 09:33:21

barikan
Guest

Re: 名前を頭文字(かな行)で検索する仕方

検索モードで「==あ*」とすれば、あ行で検索できます。
ついでに、「~==あ*」とすればカタカナでも引っかかります。

#4 2015-07-07 09:57:38

チポ
Member

Re: 名前を頭文字(かな行)で検索する仕方

それは「あ行」ではなく、
最初の一文字が「あ」を検索しますよ。

Offline

#5 2015-07-07 10:21:33

barikan
Guest

Re: 名前を頭文字(かな行)で検索する仕方

仰るとおりですね、勘違いしていました…。

検索条件5個作って
~==あ*
~==い*
~==う*
~==え*
~==お*
とすればあ行ですね。これは面倒くさい…。

~=ア*...オ
でもあ行検索できている気がするけど、文字で*と...の併用はよくわからないので怪しい。

#6 2015-07-07 13:25:17

jose
Member

Re: 名前を頭文字(かな行)で検索する仕方

>チポさん
ありがとうございます。ちなみに「かな行」例えば「あ行」は変数で設定して検索きるようにしたいのですが、
任意のかな行(グローバルフィールドで値があり)の次の行の最初の文字は計算式で算出できるのでしょうか?

>barikanさん
範囲(...)と任意(*)を使用して任意のかな行は抽出できているようです。
しかhし、一つのスクリプトでかな行が抽出できるようにしたいので変数を使用したいのですが、「あ」を変数で指定した時、「か」か「お」を計算式で算出する方法があれば、それを変数で指定してあげれば範囲ができるのですが・・・

ちなみに使用しているのはFMP14です

Last edited by jose (2015-07-07 13:34:53)

Offline

#7 2015-07-07 14:29:51

チポ
Member

Re: 名前を頭文字(かな行)で検索する仕方

ベタベタの力技で

  Case ( 行 = "あ" ; "か" ;
            行 = "か" ; "さ" ;
            行 = "さ" ; "た" ;
            ・・・・

            行 = "わ" ; "ん" )

ですね。


検索より、
範囲のリレーションを使って関連レコードへ移動で抽出

の方が簡単でしょう。

Offline

#8 2015-07-08 08:59:06

calcer
Guest

Re: 名前を頭文字(かな行)で検索する仕方

>値一覧に「あ、か、さ、・・・」と”かな列”を作成
これを使ってもいいのでは。でもベタベタよりかえって長くなるかも

#9 2015-07-27 09:29:39

jose
Member

Re: 名前を頭文字(かな行)で検索する仕方

みなさんいろいろあどばいすありがとうございます。思考錯誤した結果、以下の通りで今の所対処しています。

1:値一覧に「あ〜お、か〜こ、・・・・、わ〜ん」と作成
2:グローバルフィールドで上の値一覧を指定(ドロップダウン)
3:グローバルフィールドにスクリプトトリガ(onObjectSave)
4:スクリプト内で変数をテキスト関数の left ($頭文字) と right ($尾文字)で設定
5:検索条件を「$頭文字*…$尾文字*」でやってみました。
6:if関数で、グローバルフィールドの値が「リセット」の場合、全表示に指定してしてみました。

いろいろとご指導ありがとうございます。

Offline

#10 2015-10-06 17:53:05

jose
Member

Re: 名前を頭文字(かな行)で検索する仕方

上の方法で課題が出てしまったので再度質問させてもらいます。

上の方法で、カナ行での抽出ができたのですが、濁音で始まる名前がうまく抽出されないことに気づきました。
例えば「ばば」さん は抽出されないですが、「べっしょ」さんは抽出されます。
「は行」の場合ですが、「は」は、変数で指定されてしまっているから、「ば、ぱ」が該当されないのでしょうか?
原因の解明、問題かいけつの方法をご教授いただけたら幸いです。

Offline

#11 2015-10-06 17:56:38

jose
Member

Re: 名前を頭文字(かな行)で検索する仕方

ごめんなさい、前のスレッドを見て、自己解決出来きました。

5:検索条件を「~=$頭文字*...$尾文字*」に変更したところ、「ば」で始まる名前を抽出してくれました。

お騒がせしました。

Offline

#12 2015-10-08 10:19:34

jose
Member

Re: 名前を頭文字(かな行)で検索する仕方

たびたびすいません。解決出来たと思ったら、上の検索条件

「~=$頭文字*...$尾文字*」

だと、「...$尾文字*」を読み取らず、例えばGフィールドが「あ〜お」の場合は「あ」から始まる名簿しか抽出してないことがわかりました。

Gフィールドと値(ポップアップ)を使った抽出でレイアウトがシンプルにできているので、この方法でどうにかしてみたいのですが、どなたか検索演算子のうまい使い方をご教授いただけないでしょうか。
宜しくお願いします。

Offline

#13 2015-10-08 13:44:00

holi
Guest

Re: 名前を頭文字(かな行)で検索する仕方

$頭文字 & "..." & $尾文字 & "迄"
例)あ...お迄

漢字使ってみたら意外とうまくいきました。
最後に付け足す文字は文字コードで濁音半濁音より後になる文字であればなんでもいいようですが文字の意味合いも兼ねて"迄"に。
あ...あ迄 のような頭文字検索でも今のところ希望通りに動いています。
"~"を使うと思うように機能しなかったので、
ふりがなフィールドにはHiragana(Self)で計算値自動入力+既存値置き換えを仕込んだり全置換で直した方が管理は楽じゃないでしょうか?

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.004 seconds, 9 queries executed - Memory usage: 525.68 KiB (Peak: 546.23 KiB) ]