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

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

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

You are not logged in.

Announcement

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


#1 2020-01-15 21:21:06

ウィン
Member

50音順での表示

ポータルで画像のような50音ボタンを下部に配置して並べ替えできる出来るでしょうか?
レコードに登録の際、頭文字1文字だけ登録してあります。
http://frds.html.xdomain.jp/2020-01-15.png

---環境---
Windows10/FMA18

Last edited by ウィン (2020-01-15 21:21:51)

Offline

#2 2020-01-15 23:04:39

Hiro
Member

Re: 50音順での表示

全件ヒットするデカルト積[X]リレーション・ポータルにポータルフィルターを掛け、
ボタンの指定条件で表示制御する、とか?

Offline

#3 2020-01-15 23:25:02

ウィン
Member

Re: 50音順での表示

デカルト積が数千件あったりした場合Xのリレーションは問題ありませんか?Xでのリレーションはレコード数が少ないうちは、大変便利で扱いやすかったのですが、レコードが大量になってクエリ処理などで起動まで遅くなったりしたことがあるのです。

ボタンの指定条件での表示制御とはどのようなものなのでしょう?手法が全くわからないのでご教授お願いします。
特に形にはこだわらないので、50音引でその該当者を選択できればいいだけです。

Last edited by ウィン (2020-01-15 23:31:33)

Offline

#4 2020-01-16 03:05:58

Hiro
Member

Re: 50音順での表示

マス処理対応の別案としては、
グローバルフィールド「頭文字一覧」にボタンに関連した頭文字の一覧が入るようにし、
その「頭文字一覧」と「頭文字」とで照合するリレーションすれば良いかな。
実際に『ボタンに関連した頭文字の一覧が入る』を具体例で示せば、

ボタン「あ」 → 頭文字一覧「ア¶イ¶ウ¶エ¶オ」
   ・・・
ボタン「わ」 → 頭文字一覧「ワ¶ヰ¶ヱ¶ヲ¶ン」
ボタン「全部」→ 頭文字一覧「ア¶イ¶ウ¶エ¶オ¶・・・・・・・・¶ワ¶ヰ¶ヱ¶ヲ¶ン」

Offline

#5 2020-01-16 09:12:33

チポ
Member

Re: 50音順での表示

照合用に二つフィールドを作り、仮に
  以上
  未満
とします。

「あ」行のスクリプトパラメータに
あ¶か
として、
「か」以降も同様にし、
「全部」は
  あ¶んんん
でいいでしょう。

これで、
以上に1行目を
未満に2行目を入力。

照合を
  以上 <= 名前
  amd
  未満 > 名前
とすればポータル表示できますね。

照合を頭文字ではなく、名前でも大丈夫です。
濁音・半濁音・「ヴ」にも対応できます。

Offline

#6 2020-01-19 12:37:33

ウィン
Member

Re: 50音順での表示

せっかく教えてくださっているのに理解できなくてごめんなさい。
色々と試してみたのですが上手くいきませんでした。

http://frds.html.xdomain.jp/gojyuon.fmp12

目的
・形にはこだわりませんが、マスターデータから契約する馬主の名前を可視化検索して自身の住所録に登録したい。
・人数が多いため50音で馬主名を引きたい。

よろしくお願いいたします。

Offline

#7 2020-01-20 15:39:36

チポ
Member

Re: 50音順での表示

ここでのダウンロードができないのでサンプルを見ることができません。

私の方法でしたら、
分からないことを書いていただければお答えしますが。。

Offline

#8 2020-01-20 16:00:49

Hiro
Member

Re: 50音順での表示

そう、チポさんの方法の方への事例質問ですネ。

Offline

#9 2020-01-20 16:24:08

チポ
Member

Re: 50音順での表示

Hiroさんありがとうございます。

では、
> 照合用に二つフィールドを作り、仮に
>   以上
>   未満
とします

ポータルを表示するテーブルでこのようにフィールドを作ります。

このテーブルとマスタテーブルとでリレーション
  以上 <= 名前
  and
  未満 > 名前
とします。
「名前」はひらがなかカタカナに限ります。

これで、試しに
以上に「あ」
未満に「んんん」
と入力してみます。
マスタのすべてがポータルに表示されるはずです。

次に、
未満を「か」
と変更します。
あ行のレコードのみが表示されます。

ここまで確認してください。

Offline

#10 2020-01-20 16:41:35

ウィン
Member

Re: 50音順での表示

確認しました。
マスターに半角カタカナがついていたので半角カタカナをhankakuでひらがなに変換してリレーションを結びました。
馬主ポータルにあ行の馬主名が出てきました。

Last edited by ウィン (2020-01-20 17:04:38)

Offline

#11 2020-01-20 16:59:01

Shin
Member

Re: 50音順での表示

リレーションを張る場合、リレーション先のフィールドは、索引を設定することが必須です。(ここ非常に重要)
また、濁点、促音などを考えて、半角1文字で処理したほうが簡単かもしれません。

Offline

#12 2020-01-20 17:11:32

ウィン
Member

Re: 50音順での表示

半角カタカナをひらがなに変換する為一つ計算フィールド(ひらがな)を持し、テキスト関数hiraganaで置き換えました。
以上と未満でリレーションをおこないました。

索引を確認しました。データベースでは索引済みと出ています。
アップロードしたファイルは再アップロードしてあります。

ちなみにここの掲示板に画像を貼るときはどうやっているんですか?
<img src>タグですか?

その後、ポータルの名前と馬主コードを住所録に転機したいのですがどのようなステップを踏んだらいいのでしょうか?

Offline

#13 2020-01-20 17:21:38

チポ
Member

Re: 50音順での表示

半角カタカナのままでも大丈夫だと思いますよ。


次のステップ、スクリプトを作ります。
  フィールド設定 [ 以上 ; GetValue ( Get ( スクリプト引数 ) ; 1 ) ]
  フィールド設定 [ 未満 ; GetValue ( Get ( スクリプト引数 ) ; 2 ) ]
この2行だけです。

ボタンを作り上記のスクリプトを指定し、
スクリプトパラメータに
  "あ¶か"
と設定します。

このボタンを押してみてください。

Offline

#14 2020-01-20 17:40:42

Shin
Member

Re: 50音順での表示

ファイルを落としてみましたが、索引は無し、になっていますよ。
ポータルからの設定は、フィールド設定[馬主コード ; リレーション::コード]のような1ステップスクリプトで十分でしょう。馬主名は必要ならばルックアップします。

Offline

#15 2020-01-20 18:08:14

ウィン
Member

Re: 50音順での表示

皆様方のおかげで思ったような動作になりました。

http://frds.html.xdomain.jp/gojyuon.fmp12

住所録に移す為のリレーションは馬主コードで結べばいい感じですか?

Offline

#16 2020-01-20 18:17:21

ウィン
Member

Re: 50音順での表示

わざわざ住所録を離さなくても、馬主住所録レイアウトで五十音引して、レコードに追加するほうがいいのかな…

Offline

#17 2020-01-21 00:46:25

ウィン
Member

Re: 50音順での表示

皆様のアドバイスで何とか形になりました。ありがとうございました!

http://frds.html.xdomain.jp/2020-01-21.png

50音引きした馬主行を一旦グローバルに入れ、契約馬主を可視化、登録ボタンを押したらレコードに書き込む工程で出来上がりました。
レコードを切り替えた時にポータルから選択した時の残存がやや目障りですが、求めていたようなことが出来ました。

色々とありがとうございました!

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.005 seconds, 7 queries executed - Memory usage: 552.72 KiB (Peak: 573.63 KiB) ]