• ベストアンサー

accessリレーションシップ 1つのフィールド対2つのフィールド

困っているので質問します。 テーブルAのフィールドをテーブルBのフィールドとリレーションシップを結ぶ時、テーブルAの1つのフィールドをテーブルBの2つのフィールドにリレーションシップを張ろうとするとできません。 例)テーブルA=元号テーブル         元号テーブルには元号CDと元号の2つのフィールドがあります。   テーブルB=管理テーブル 管理テーブルには作成年月日と更新年月日という2つのフィールドがあって、それぞれに元号テーブルにある元号というフィールドを元号CDを使って引っ張ってきたいのです。 どのようにすればよいのか教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • htmcr
  • ベストアンサー率36% (11/30)
回答No.1

リレーションシップを結びたいフィールドの数だけ テーブルの追加が必要です。 今回の場合は作成年月日と更新年月日なので、 もうひとつテーブルBを追加してください。 クエリのデザインビューにて 右クリック→テーブルの表示、で追加できます。

chemistry2005
質問者

お礼

返答ありがとございます。 やっぱり1つではできなくて、2つテーブルが必要なのですね。 ありがとうございました。

その他の回答 (1)

  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.2

リレーションシップウィンドウで 管理テーブルを1回、元号テーブルを2回追加します 2回目の元号テーブルには「元号テーブル_2」という名前が付きます それぞれを作成年月日と、更新年月日に結合します

chemistry2005
質問者

お礼

返答ありがとうございます。 1つのテーブルで何とかなるかと思ってたんですが、 2つ用意しないといけないのですね、勉強になりました。 ありがとうございました。

関連するQ&A

  • Accessのリレーションシップ

    Access初心者です。 Access2010でデータベースを作っていて、行き詰ってしまいました。 テーブル1にフィールドABCDEFがあって、Aに主キーが付いています。(Aはテキスト型でフィールドサイズ10です。) テーブル2にはフィールドAGHがあり、Aに主キーが付いてます。(Aはテーブル1と同じです。) テーブル3にも同じくフィールドAIJがあり、Aに主キーが付いています。(Aはテーブル1と同じです。) テーブル1のフィールドAを主テーブルとし、テーブル2・3のフィールドAにリレーションを組んでいます。 この時のリレーションシップで参照整合性と連鎖更新と連鎖削除にチェックを入れ、種類が一対一になりました。 その後、テーブル1でレコードを追加しようとすると、「テーブル'2'にリレーションシップが設定されたレコードが必要なので、レコードの追加や変更を行うことができません。」と出ます。 これを解決する方法はどうするのか、お教えお願いします。 分かりにくい説明ですいません。

  • Access2013のリレーションシップについて

    Access2013を勉強しています。 リレーションシップについて参考書(2冊)を見ていて疑問を持ったのですが、 二つのテーブルでリレーションシップを定義したいそれぞれのフィールド名は同じ名前だとうまくいかないのでしょうか?参考書では、値は同じ(例えば1、2、3・・・)は同じなのにフィールド名は微妙に違う名前をつけているのですが(例えばテーブルAでは顧客IDでテーブルBでは取引先ID)・・・ 宜しくお願いします。

  • Accessリレーションシップ

    Accessにて、 テーブルA(個人情報) ●個人コード ●名前 ●住所  ・  ・ テーブルB(個人ごとの数量管理) ●個人コード ●数量 上記のようなテーブルがあるとします。 これは、1:1のリレーションシップにしたいのですが、 クエリAを作成して ●個人コード(テーブルB) ●名前(テーブルA) ●数量(テーブルB) 個人コードを入力すると、名前を参照するというふうに したいのですが、1:1のリレーションシップだと個人コードの入力時に 参照はできないのでしょうか? 一旦閉じて、開くと参照していますが・・・。 良いご意見がありましたら、よろしくお願いします。

  • マイクロソフト アクセス リレーションシップの扱い方について

    よろしくお願いします。アクセスで作成したテーブル、例えばAとBには共通の番号があります。それぞれは各テーブル内で番号がいくつか重複しています。この番号により、リレーションシップの関連付け(参照整合性は行わず)を行った後、クエリで抽出したところ、ところどころ同じデータが発生して、膨大な量になってしまいます。参照整合性・フィールドの連鎖更新・レコードの連座削除をチェックして再度リレーションシップを作成しましたが、主テーブルで参照されている固有のインデックスが見つからないとのエラーメッセージが出ます。このテーブルA・Bを使用してデータが重複しないようにクエリで抽出する事はできますか。

  • Accessのリレーションシップについて

    お世話になります。 2つのテーブルがありその中のフィールドをリレーションシップでつなぎたいと思っています。 しかしフィールドのデータが以下のように違うため接続できません。 何か良い方法はないでしょうか? フィールド1   フィールド2 B00231      B002311 B00289      B002891 H04572      H045721 フィールド2のデータはフィールド1のデータの末尾に1が追加されています。 よろしくお願いいたします。

  • ACCESSのフィールドの更新

    マイクロソフトACCESSフォームAでテーブルBのCフィールドの更新は出来るのですが、フォームDから連結でテーブルBのCフィールドの更新が出来ません。(同じようにして2個作成したシステムのうち1個は出来たのですが、もう1個がどうしても出来ません:テーブル,クエリ,フサブフォーム,フォームの違いを捜しているのですが見当たりません。)

  • アクセスのテーブルでのルックアップフィールド表示

     いつもお世話になっております。  ACCESS2016を使用しています。  お聞きしたいのは、条件によってテーブルのルックアップフィールドに表示されるデータを変えたいのですが、その方法が分かりません。  フォームでのやり方は分かりますが、テーブルで表示させたいと思っています。  例えば、下記のようなテーブルがあるとします。 [入力用テーブル名:T_元号別担当者] 元号フィールド、担当者フィールド 平成      a 平成      b 令和      c 令和      d [ルックアップ用テーブル名:T_平成担当者] 担当者フィールド a b [ルックアップ用テーブル名:T_令和担当者] 担当者フィールド c d  イメージは、元号フィールドが平成の場合、担当者フィールドにT_平成担当者を、 元号フィールドが令和の場合、担当者フィールドにT_令和担当者をルックアップとして 表示させたいと考えています。  このやり方をどうぞご教示お願いいたします。

  • ACCESSのリレーションシップについての疑問

    ACCESS初心者です。 ACCESS2002 OSはWindowsXP SP2です。 基本が分かっていないせいなのかもしれませんが、私には理解できない現象が起こっています。対応方法があれば教えていただくようお願いします。 ACCESSでデータ更新のフォームを作っています。 そのフォームは2・3日前に作ったもので、たとえばテーブルAを更新するためにマスターテーブルのBとCを参照しているような形になっています。このリレーションはクエリで指定してあります。 このフォームではクエリに対して更新する形になっています。 このフォームのデザインを編集しているときに「ツール」の「リレーションシップ」をクリックすると画面にはBとCだけが表示されます。 なぜメインのテーブルのAが表示されないのか?と思いながら、しょうがないので右クリックして「すべてのリレーションシップの表示」を押すと、驚いたことにDのテーブルが表示されました。 実はこのDというテーブルは以前に作ったAを作る前に使っていたAによく似たテーブルなのです。 当然、以前にはDとB・Cのリレーションも作っていましたが、今編集中のフォームではDは関係ありません。 リレーションシップの画面は不必要に広大なもので横に3スクロール分と縦にも5スクロール分くらいあって、その右下の端っこにD・B・Cのリレーションだけが表示されていて、それ以外はただただスペースがあるだけです。 なぜ肝心のA・B・Cのリレーションが表示されずD・B・Cのリレーションが表示されるのでしょう? 試しに今では不要であるDのテーブルを削除してみましたがリレーションシップではさすがにDは消えたもののB・Cが表示されるだけで、Aは出てきません。 そもそもACCESSにおけるリレーションシップというのは個々のフォーム内で定義されるものではないのですね?(根本的なことで申し訳ないのですが、買った2冊の本を見てもインターネットで探してもその辺の説明が見当たりませんでした) SQLであれば個々のSQL文で都度JOIN等の記述をすると思うのですが、ACCESSではデータベース全体の共通事項(?)としての定義になるのでしょうか? ACCESSは初心者で見当はずれな質問かもしれませんがどうかよろしくお願いします。

  • 【Access】同じようなテーブルを一つにまとめたいのです(-人-)

    アクセスについて質問します。 複数のテーブルに同じ名前のフィールドと違う名前のフィールドがいくつかあります。 そのテーブルを一つにまとめたいのですが、どうしたらいいのでしょう? 一例として下記のようなかんじです。 賢い方、教えてください。お願いします。 テーブル1 A   B  C あ  い  う あ  い  う か  き  く テーブル2 A   B  D さ  し  す た  ち  つ て  と  な ↓一つの大きなテーブルにしたい↓ A   B  C   D あ  い  う あ  い  う か  き  く さ  し      す た  ち      つ て  と      な

  • accessフィールドの複数結合

    テーブルAの1つのフィールドとテーブルB内の複数のフィールドを結合させたい。例 テーブルAには社員コードと社員名、テーブルBには商品名、納入社員コード、商品管理社員コード。テーブルAの社員コードフィールドとテーブルBの2つの社員コードフィールドを結合させたいのです。テーブルAをコピーして2つ作り、それぞれをBの2つのフィールドと結合すると出来るのですが、テーブルAが社員名でなく、画像だったりするととても大きなファイルサイズになってしまいます。お答えお待ちしています。

専門家に質問してみよう