みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
「顧客ID」と「顧客名」のフィールドを使った値一覧のドロップダウンリストから入力してもらいたいと思います。
この場合、「顧客名」が漢字で登録されているので、これでソートすると音読み順になってしまいます。
顧客管理テーブルに「ふりがな」フィールドを追加して、「ふりがな」順にソートしたいと思いますが、どのような手立てがありますか。
ちなみに、値一覧のソート順は第1フィールドか第2フィールドのどちらかを選択するようになっていて、第3のフィールドによるソートが用意されていないようですが。
Offline
無理無理ですが、、
顧客IDと顧客名を連結したフィールドを作り、
値一覧をそのフィールドとふりがなフィールドにする。
実際の入力は、
スクリプトで顧客IDか顧客名(どちらか書かれていません)だけにする。
このスクリプトをトリガで実行させればいいでしょう。
Offline
・「値一覧から選択する」と云う事は、顧客数は比較的少数でしょうから、
・ふりがな全文字でなくとも頭一文字でソートするだけで十分実用的と思われるので、
・「 Left(ふりがな;1) &"-"& 顧客名 」の計算フィールドを作って、
・これを値一覧の「2番目表示・ソートフィールド」に設定する、
のはどうでしょう?
【補足修正】
・もしも、同性同名の顧客名の混入の可能性がある場合は、
・計算フィールドの式を「Left(ふりがな;1) &"-"& 顧客名 &" "& 顧客ID」へ変更、
・かつ、「2番目表示フィールドのみ表示」へ指定変更します。
Last edited by Hiro (2017-04-03 14:18:06)
Offline
チポ 様、Hiro 様
いつもありがとうございます。
やはり2つ以上のフィールドを連結する計算フィールドを作るわけですね。
もともと、改定を迫られているソリューションファイルの各テーブルには、本来的に必要なフィールド以外に計算で作られるフィールドがたくさんあるのです。(本来の3~5倍)
例えば、数値の「顧客ID」の「234」と「1234」が混同されないように、「顧客ID_5桁」という計算フィールドを置いて「0234」のようなデータを格納しています。
それも複数のテーブルで同じような計算がされています。
またまた、計算フィールドが増えるのかと思うとちょっとがっくりときています。
しかし、それしか方法がないのであれば仕方ありません。
皆様から提示していただいた案を下敷きに考えてみます。
本当にありがとうございます。
Offline
改訂するのでしたら、それらを駆逐する良い機会では。
> 数値の「顧客ID」の「234」と「1234」が混同されないように、「顧客ID_5桁」という計算フィールドを置いて「0234」
内部処理では、それらは明確に区別されます。おそらく見た目での対策だと思いますが、その数値フィールドに、自動入力・上書きするで、Right ( "00000" & self ; 5 ) という計算式を入れておけば、「234」と入力された場合には「00234」に置き換えられ、レイアウト上で入力通り表示にしておけば、「00234」と表示されます。
また、レイアウトに出てこないフィールドでは異味が無いと思いますので、全て削除できるかもしれません。
Last edited by Shin (2017-04-04 10:58:25)
Offline
顧客IDが数値フィールドなら、「234」と「1234」の数値比較で混同されることはありませんよネ?
Offline
Shin 様、Hiro 様 本当にありがとうございます。
ある顧客の予定を抜き出すレイアウトで、顧客「234」の予定を抜き出すはずが、「1234」や「2234」も抜き出されました。
顧客IDの前に「00」を付けてみたところ重ならないことが分かりましたので、開発者にその旨伝えました。
そうしたら、「0」で埋めたフィールドを作って、数値フィールドの顧客IDからの計算で表示される「顧客ID_5桁」が作成されました。
比較はこの「顧客ID_5桁」で行われています。
もしかしたら、数値フィールドをテキストの比較方法で比較していたのかもしれません。
これらの計算フィールドの駆逐は、まだ私の能力では困難と思われます。
もう少し勉強したいと思います。
なかなか上達しない生徒ですが、今後ともよろしくご指導いただきたいと存じます。
追伸
Shin様にお尋ねがあります。
おっしゃっている方法では、タイプ「数字」のフィールドのままで、オプションの「入力値の自動化」の「計算値」にその計算式を入れればよいということでしょうか。
この場合、「00」は付いていても、システム上数値として取り扱われるということでよろしいでしょうか。
Offline
そのとおりです。
数値フィールドの中では、123, 0123, 123.0 などは、入力通りで表示させれば違って見えますが、内部の評価は同じです。
Offline
Shin 様 ありがとうございました。
「顧客ID_5桁」などの計算フィールドがどのように使われているかを検討し、支障が出ないことを確認したうえで、解消したいと思います。
時間がかかるとは思いますが、やってみます。
本当にありがとうございました。
Offline
Pages: 1
[ Generated in 0.006 seconds, 9 queries executed - Memory usage: 565.95 KiB (Peak: 581.55 KiB) ]