タイトル
全テーブルからの検索
フォーラムに投稿
fm6です。初心者です。教えてください。
3テーブルあるファイル内で、「名前」というフィールドで、リレーションを持たせています。
1、2、3のテーブルでの「名前」のレコードには、
重複するものもあれば、しないものもあります。
この重複していないレコードも含めた、3テーブル合わせた全レコードから、
検索したいと思っていますが、無理なのでしょうか?
またその場合のよい方法があれば教えてください。
よろしくお願いいたします。
全テーブルからの検索
fm6です。初心者です。教えてください。
3テーブルあるファイル内で、「名前」というフィールドで、リレーションを持たせています。
1、2、3のテーブルでの「名前」のレコードには、
重複するものもあれば、しないものもあります。
この重複していないレコードも含めた、3テーブル合わせた全レコードから、
検索したいと思っていますが、無理なのでしょうか?
またその場合のよい方法があれば教えてください。
よろしくお願いいたします。
Hiroさん、失礼いたしました。 FM7 でした。
1テーブル 「名前1」 (レコード例:Aさん、Bさん)
2テーブル 「名前2」 (レコード例:Bさん、Cさん)
3テーブル 「名前3」 (レコード例:Cさん、Dさん)
と各テーブルに「名前」というフィールドがあり、リレーションを持たせています。
1.2.3の全テーブルのレコードの中から、「名前」フィールドで、検索をしたいのですが、
可能でしょうか?
今のところ、1テーブルのレイアウトですと、1テーブルのレコード内だけでの
検索になってしまいます。
1.2.3 全テーブルから検索をしたいのですが、可能でしょうか?
初心者ということもあり、意味不明な質問をしていたら、申し訳ありません。
テーブル・オーバーの串刺し検索は出来ません。
名前で検索などDB操作があるなら、名前マスターテーブルを作り、3つの分割テーブルをこれにインポートして一本化してください。
また重複レコード(同姓同名があると別対処要す)はインポートの際、ユニークレコードだけに限定インポートが可能です。
このマスターテーブルで検索します。
また、現状の3テーブル分けの意図は分かりませんが、
マスターテーブルに詳細データを持たせ、既存3テーブルはそのテーブル分類要素と氏名IDをリレーションキーに、詳細データは名前マスターテーブルから関連レコード参照にすると良いでしょう。
要は基礎データは1セットだけにし、他で必要な場合はリレーション参照するようにします。これをデータベースの「正規化」といいます。詳しくは「正規化」をキーワードにWebでググってみてください。
Hiroさん
教えていただきありがとうございます。
会社で変更してきました。
>テーブル・オーバーの串刺し検索は出来ません。
そうなんですね。納得しました。
アドバイスいただいた通り、名前マスターテーブルを作成しました。
インポートについても、教えていただきありがとうございます。
>また、現状の3テーブル分けの意図は分かりませんが、
経理部で働いているのですが、今はエクセルオンリーなのです。
売上&入金を、1か月ごとにシートを増やしていくという方法なのです。
今、考えているのは、1レコード(売掛先)に対して、1月のテーブルにて、1月の売上、1月の入金
他15フィールドくらい、2月のテーブルにて、2月の売上、2月の入金…
と、月ごとのテーブルにわけようかなと思っていて、
そうしないと、12か月×15フィールド を1テーブルで管理するのって
混乱しそうで。
(また変なことを言っていたらすみません)
「正規化」も調べました。なるほど~と思いました。
ありがとうございます。
会社では誰もわからなく、困っていたので、
本当に心強いです。
FM6にテーブルという概念はありません。強いて言えば、1ファイル1テーブルです。
> 3テーブルあるファイル内で、・・・・・。1、2、3のテーブルでの「名前」のレコードには
失礼ながら、この説明からは疑問だけでDB構成を掴みかねます。