みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
いつも大変参考させもらっています
FM18adv windows10を使用しています。
質問させていただきます。
2つのフィールドを作成
Aのフィールド(3種)
コード1 読み仮名 氏名
001 ヤマダ 山田花子
002 サイタマ 埼玉一郎
003 トウキョウ 東京次郎
Bのフィールド(3種)
コード1 読み仮名 氏名
Bのフィールドはコード1を入力することでAのフィールドの読み仮名、氏名がルックアップするようリレーションを組んでいます。
このようなデータベースを使用する上で、職員の方からコード1ではなく読み仮名を入力することでコード1、氏名をルックアップできないかと質問されました。
よくあるパターンなので簡単にできると思ったのですが、どうしても考え方が解りません。
コード1からも、読み仮名からもルックアップすることは可能でしょうか。
お知恵を拝借できれば幸いです。
Offline
フィールドと書いておられるのは、テーブルのことですよね。
読み仮名 フィールドでリレーションを張り、コード1 にルックアップを設定するといいでしょうが。
ただ、読み仮名は、必ずしもユニークではないので、トラブルになる可能性が高いです。入力された読み仮名をもとに、対象レコードをポータルで表示させるか、コードと氏名の値一覧を作ってコード1 を入力させるかして、そこからコードを選択させるようにされたほうがいいと思います。
Last edited by Shin (2023-08-24 16:13:16)
Offline
Aテーブルに重複があった場合に読み仮名だけでのルックアップはミスの元ですよ。
001 ヤマダ 山田花子
002 サイタマ 埼玉一郎
003 トウキョウ 東京次郎
004 ヤマダ 山田太郎
同姓同名も有り得ますし。
コード1をドロップダウンにすれば値一覧で2番目の値に読み仮名を設定すればそれっぽいことはできますが、
Aテーブルのレコード数が多いと使い辛いですね…
あとはBテーブルの読み仮名フィールドにスクリプトトリガを設定するとかですかね。(構想まではしていませんが)
同じ読み仮名があると破綻します。
コードと読み仮名の値一覧で読み仮名を選択してコードを入力すればいいのでは。
両テーブルで、
二つのフィールドを相互に照合・ルックアップとすると、
どちらのフィールドも変更ができなくなってしまいます。
値一覧が使える程度のレコード数なら、
コード1の値一覧の第二フィールドに読み仮名
とすればいいでしょう。
レコード数が多く、値一覧では無理でしたら、
Aで
List ( コード1 ; 読み仮名 )とするフィールド
Bで
コード1か読み仮名を入力する照合用フィールド
を作り、これでリレーションすればいいですね。
しかし、読み仮名では重複があるとだめですね。
Offline
理解しにくい質問だったと思いましたが。
早速のご回答ありがとうございます。
外出先なの社に戻りましたら早速実行させていただきます。
Offline
Pages: 1
[ Generated in 0.006 seconds, 9 queries executed - Memory usage: 551.79 KiB (Peak: 579.57 KiB) ]