みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pro V12で住所録を作成中です。
氏名読み検索をボタンを押して実行することを検討しています。
「あ」「か」「さ」・・・・「わ」と表示させた計10個のボタンを作成。
ボタンを押して、氏名読みの左端一文字を検索実行。
例えば氏名読み「すずき」であれば「さ」ボタンを押すと検索実行です。
宜しくお願い致します。
グローバルフィールドを二つ作り、
仮に先頭、最後とします。
リレーションを
先頭 <= 氏名読み
and
最後 > 氏名読み
と設定します。
「あ」のボタンのスクリプトパラメータを
あ¶か
として、
先頭に GetValue ( Get ( スクリプト引数 ) ; 1 )
最後に GetValue ( Get ( スクリプト引数 ) ; 2 )
を入力し
関連レコードへ移動
で「あ」行の絞込みが出来ます。
Offline
こんな方法もあるというサンプルです
スクリプトで処理してます
大雑把ですので、お使いになるのなら展開してください
http://yahoo.jp/box/na5fFz <== 削除しました
Last edited by シャチ (2017-01-19 21:30:33)
Offline
あ...お
で、あ行が検索できます。
「さ」の場合は、「ざ」とかがあるので、
さ...ぞ
で、さ行&ざ行が検索出来ます。
「フィールド:かな」の値が、「かとう まさる」となっている場合、
「か...ご」と「ま...も」で検索した時にヒットします。
「フィールド:かな」の値が、「かとう まさる」の時に先頭の文字のみで検索したい場合は、計算フィールドで左1文字を抽出し、そのフィールドを検索対象にします。
Offline
> 氏名読みの左端一文字を検索
氏名読みフィールドでしたら、
あ...お
ではダメですね。
無理すれば
あ...おんんんんん
で実用的にはいいでしょう。
Offline
> #5 チポさん
うむ! 「こんどう まさる」だと、無理して「か...ごんんんんん」にしてもダメですネ。
考え方を変えて、氏名読みの頭文字を文字行変換する計算フィールドを追加して、
そのフィールドを対象に検索するとか。 その計算式は、
Let([#chr=Left(氏名読みフィールド;1)];
Case(
#chr<"あ"; "";
#chr<"か"; "あ";
#chr<"さ"; "か";
#chr<"た"; "さ";
#chr<"な"; "た";
#chr<"は"; "な";
#chr<"ま"; "は";
#chr<"や"; "ま";
#chr<"ら"; "や";
#chr<"わ"; "ら";
#chr<"ん"; "わ";
#chr="ん"; "ん"
)
)
Last edited by Hiro (2017-01-14 12:11:46)
Offline
読みを全部の状態でするから面倒で
計算フィールドに先頭文字だけにして
それで検索すれば楽にならないかな?
Offline
頭の一文字で検索するサンプルをくっつけて
新しいファイルを
http://yahoo.jp/box/Zu10kw <== 削除しました。
にアプしました。
Last edited by シャチ (2017-01-19 19:27:49)
Offline
こんなのではダメですか。
Lookupで濁点や半濁点を除去してみたサンプル。
検索も関連レコード移動ですけど。
http://pupld.net/21/170114/nic35aoazs/index.cgi
読み検索.fmp12
Offline
理由は分かりませんが、
なぜか、
か...こんんんんん
で「ご」から始まるものをヒットするんですよ。
コードでも、ソートでも大小が逆なんですがね・・・??
Offline
なぜか、
か...こんんんんん
で「ご」から始まるものをヒットするんですよ。
か...こ
ではヒットしませんね。
同様に、
こ...こ
ではヒットしないけど、
こ..こん
ではヒットします。
Offline
皆様ありがとうございます。
急用で休むことになりました。
木曜日出社するのでその際に観させていただきます。
こんなのではダメですか。
Lookupで濁点や半濁点を除去してみたサンプル。
検索も関連レコード移動ですけど。
http://pupld.net/21/170114/nic35aoazs/index.cgi
読み検索.fmp12
シャチ様
サンプル作成いただき大変有難う御座います。
スクリプトの検索と検索2でヒットするレコードに違いがあることがわかりました。
検索2で進めたいと思います。
「あ」「か」・・・「わ」のボタンにスクリプトを付けるには、検索2の
Case(氏名検索をボタンを押して実行::検索用=”あ”;”あ...お”;
氏名検索をボタンを押して実行::検索用=”か”;”か...ご”)
を修正すれば良いように思うのですが、その方法がわかりません。
改めてご指導をお願い致します。
Case(氏名検索をボタンを押して実行::検索用=”あ”;”あ...お”;
氏名検索をボタンを押して実行::検索用=”か”;”か...ご”)
これがよくないという話でス進んでたと思ったけど
頭の人文字を取り出したフィールで検索する方が楽だと思うけどなぁ
サンプルはあと方のやつ(V2)です。
http://yahoo.jp/box/Zu10kw <== 削除しました。
Last edited by シャチ (2017-01-19 19:28:15)
Offline
住所録 wrote:Case(氏名検索をボタンを押して実行::検索用=”あ”;”あ...お”;
氏名検索をボタンを押して実行::検索用=”か”;”か...ご”)これがよくないという話でス進んでたと思ったけど
頭の人文字を取り出したフィールで検索する方が楽だと思うけどなぁサンプルはあと方のやつ(V2)です。
http://yahoo.jp/box/Zu10kw
シャチ様
私の投稿間違いです。
進めていたのはこちらのシャチ様のサンプルです。
改めて
サンプル作成いただき大変有難う御座います。
スクリプトの検索と検索2でヒットするレコードに違いがあることがわかりました。
検索2で進めたいと思います。
「あ」「か」・・・「わ」のボタンにスクリプトを付けるには、検索2の
Case(氏名検索をボタンを押して実行::検索用=”あ”;”あ...お”;
氏名検索をボタンを押して実行::検索用=”か”;”か...ご”)
を修正すれば良いように思うのですが、その方法がわかりません。
改めてご指導をお願い致します。
私のサンプルでは 検索用というグローバルフィールドに値一覧で文字を表示してます。
で、ボタンはあくまでも 検索を実行するだけ
検索文字は、検索用フィールドのデータを用います。
なので「あ〜わ」のボタン使いません。
ボタンに変えるとなると、スクリプトを変更しなければならないので
私のサンプルそのままではダメです。
変更の場合のサンプルを今作っている時間がないので
ちょいと時間をもらわないと。。。 ごめんなさい
Offline
あ〜〜ぁ ヒントだけ書いておこう
それぞれのボタンにスクリプト割つけて、
割り付ける時に 引数で その文字を設定しておけば
そんなに大幅に変えなくても済むかも
Offline
やっと時間ができたのでV3作りました
http://yahoo.jp/box/W8FleE <== 削除しました。
におきました。
一番最初のは割愛しました。
最初とV2は捨ててください。
Last edited by シャチ (2017-01-19 19:28:41)
Offline
シャチさん、サンプル拝見いたしました。
ちょっと質問なのですが、一番右のボタンの引数
"す..ぞ"
で、ざ が出ないのは理想だと思うのですが、何故でしょうか?
ファイルメーカーの仕様をうまく突いたって感じでしょうか?
すいません
凡ミスです。ボタン名を”さ” 引数を”さ..ぞ”に修正しておいてください。
http://yahoo.jp/box/ellynt
に修正版を 今度は大丈夫と思うけど。
他の古いのは全部削除しました。 (恥だもんなぁ)
Offline
シャチさん、お世話になります。
凡ミスって言うより何故だろうって思っただけなので気になさらず。
でも’す’から’ぞ’を検索しているのに’ざ’が出てこないのは何でだろう。仕様かな?
Unicodeでは さざしじ になってますねぇ。。。
この辺り気をつけないといかんなぁ
でも、気にしてないかぁ 私
Offline
すいません
凡ミスです。ボタン名を”さ” 引数を”さ..ぞ”に修正しておいてください。
http://yahoo.jp/box/ellynt
に修正版を 今度は大丈夫と思うけど。他の古いのは全部削除しました。 (恥だもんなぁ)
サンプル拝見させて頂きました。
大変有難う御座います。
引数とはこの様はものだったのですね。
初心者の私には感激です。
このまま使えそうですが、幾つか相談があります。
1.頭文字が「ぽ」の場合”は”..”ぼ”では無く”ぽ”にしないと検索しませんでした。
”ほ”のような場合は濁点では無く半濁点にすることで良いのでしょうか。
実際”ぽ”の氏名は無いと思うのですが。
2.手動検索時の範囲指定は点が3個の”...”ですが、”は”..”ぽ” は2個ですが、
手動検索の場合とは関係ないのでしょうか。
3.If 氏名検索をボタン押して実行::集計<1
は
If Get(対象レコード数)=0
でも問題ないでしょうか。
以前集計フィールドで物凄い時間が掛かったことがありまして。
引数に は..ぼ/(BO) というのを は..ぽ(/PO)の変えてみたらどうでしょう?
多分拾ってくれると思います
Offline
2:点は 2でも3でも OKです
3:一応空白がかえるかもしれないこと感がると <1そ進めますが
どっちでもいいような気もします。
どっちも試してみてください
Offline
[ Generated in 0.007 seconds, 8 queries executed - Memory usage: 577.91 KiB (Peak: 614.81 KiB) ]