• ベストアンサー

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

いつもお世話になっています。 只今Accessで比較表を作る仕事に携わっていますが、リレーションシップ機能や結合プロパティなどデータの関連付けをする部分がよく分からず、困っています。また私自身かなり素人のため、参考書(下記の2冊)を読んでも中々上手くいきません。 *エクスメディア社「超図解 Access2003 総合編」 *インプレスジャパン社「できる Access2003 」 そこで質問なのですが、どうしたらデータの関連付けの部分を理解できるでしょうか?お勧めのサイトやこうしたら上手くいくよと言う方法等あれば是非助けてください。

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

  • ベストアンサー
  • naolich
  • ベストアンサー率41% (7/17)
回答No.1

リレーションシップをいきなり理解するには難しいかもしれません。 というより、リレーションシップにこだわることはないのでは??? 比較表を作成することのことですが、比較するフィールドの型を同じにする。たとえば、Aリストに「No.」と言うフィールドがあれば、同じようにBリストにも「No.」と言うフィールドをつけて、そのデータの型を「テキスト型」なら両方とも「テキスト型」にするというわけです。 後は、クエリで関連付ければ、使えます。 私もリレーションシップを理解しようと、活用しようとがんばったことがあるのですが、リレーションシップを使うと不便と言うか、融通が利かないというか・・・。 回答になっていなければごめんなさい。

参考URL:
http://www.moug.net/
yuki-1028
質問者

お礼

クエリでやってみたら、何とか関連付けが出来ました。 ありがとうございました。

関連するQ&A

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

     Win XP Office 2003 Accessを勉強中です。  デザインビューでクエリを作成するときに、関連するテーブルを表示させると自動的に「結合プロパティ」の線が表示されますが、 この表示で自動的に「1対多」を表示する時としない時がありますが、これは何故でしょうか。  これはどこかから設定をしてやるのでしょうか。  また、同じような線としてメニュバーから「リレーションシップ」を表示させることが出来ますが、 内容的には「結合プロパティ」と同じものですが、これは「リレーションシップ」とはどのようなに使い分けるものでしょうか。

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

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

  • アクセス(access)のクエリ、リレーションシップについて

    アクセス(access)のクエリ、リレーションシップについて 過去の質問を見ましたが、該当が内容なので質問いたします。 現在アクセスでシステムを作成中です。 種別マスタ・・・種別CD(主キー)、種別名 求職ファイル・・・ここに希望種別1、希望種別2と入力させたい。画面では種別名もそれぞれ表示させます。 しかし、2つのファイルをリレーションシップ設定するところでとどまっています。 1つ目は通常通りできますが、2つ目を設定しようとすると、「既にリレーションシップは設定済み」メッセージが表示されます。  それでも「いいえ」で無理やり設定すると、種別マスタ_1というファイルが表示されます。(この件に関しては過去の質問にあったようですが・・・)  しかし、クエリを作ると、種別名を設定しても、データ自体が1件も表示されなくなりました。(実データはあります)種別2のCDや名称を削除すると、通常通り全てのデータと名称が表示されます。 <解決希望項目> 1)上記のように、1つのファイルに同じ項目を2つリレーションシップで設定する事は可能でしょうか? 2)また、後半のように2つのコードそれぞれの名称を表示させる事は、通常の方法では無理のようですが、どうすればいいのでしょうか? 期日が迫っているのですが、基本的な部分でゆきずまっているもので、どうぞよろしくお願いします。m(__)m

  • Access2000のリレーションシップのエラーについて

    どのくらい説明すればいいのかわからないのですが、アクセス2000でリレーションシップの設定をするときに、 「主テーブルで参照されているフィールド用の固有インデックスがありません。」 というエラーメッセージが出てきてリレーションを作る事が出来ません。 問題なのは3つのテーブルのリレーションなのですが、それぞれのインデックスをチェックすればいいのだとは思いますが、対象となったフィールドは主キーではないので、重複は許可していますが、一応どちらもインデックスは作成しています。 どのようなリレーションシップかというと、業者テーブルと商品テーブルと販売履歴テーブルのリレーションで、 商品テーブルの業者IDと業者テーブルのIDのリレーション→左内部結合(商品テーブルの全フィールドに入れる) 業者テーブルの業者IDと販売履歴の業者IDのリレーション→右内部結合 は出来るのですが、商品テーブルの商品名と値段フィールドと、販売履歴の対応する部分についてのリレーションについてもたせようとするとエラーが出てしまいます。このようなリレーションはいらないのでしょうか? どちらも固有の値でない量のリレーションだからなのでしょうか? この二つのフィールドの参照整合性をどう保てばいいのか教えて下さい。

  • 正規化・リレーションシップについて

    テーブル(表)というのは、売り上げ伝票とうをデータに起こしたものだと思っております。 その中で、起票したテーブルを 部分的・推移的関数を排除すれば第三正規化までが出来ると考えております。 「質問1」 つまり正規化で対象となる表は、起票したデータ(表=伝票等)が対象になる? で間違い無いでしょうか? 「質問2」 1つのデータ(表=伝票等)を、正規化したため、 その関連付けるために、リレーションシップというのがあるのでしょうか?

  • X-mediaのアクセスのサンプルデータ

    こんにちわ。 本日、X-media社の「超図解シリーズのわかりやすいアクセス入門」を購入したのですが、なんと、倒産してるらしく、サンプルデータが入手できません。アクセス初心者だからデータがないと。。。。 どなたか、ダウンロードした方がいらっしゃったら提供していただけないでしょうか?・・・・ よろしくお願いします。

  • このリレーションシップを作成して、参照整合性を設定

     Access2007で、このリレーションシップを作成して、参照整合性を設定できません。   手っ取り早いので、問題にAccessデータが以下のURLからとれるようにしました。  http://homepage3.nifty.com/mtaiyo/sanseyou.accdb  以上Accessのsanseyou.accdbファイルを元にして、 以下の設定項目を実行してください。    テーブル「T得意先マスター」とテーブル「T売上げデータ」の間にリレーションシップを設定します。    「T得意先マスター」の「得意先CD」を「T売上データ」の「得意先CD」までドラッグします。  ≪参照整合性≫のにチェック マーク記号を入れます。 ≪作成≫をクリックする。・・と以下のエラー表示がでて先に進みません。 「 ’T売り上げデータテーブルのデータが参照整合性の規則に違反しています。  たとえば、ある社員に関する売るレコードがリネーション テーブルにあるときに、この社員に関する レコードが主テーブルにありません。    リレーション テーブルのすべてのレコードのデータについていて、関連するレコードが主テーブルにあるようにしてください。  参照整合性の規則に従わないでリレーションシップを作成するときは、[参照整合性]チェックボックスを オフにしてください。」  FOM出版 SETP1 「リレーションシップを設定する」  の項目の、別な設定でも、同じエラーがでたので、最初からエクセルを再イポートしたら無くなりました。   次の設定にかかったところ又でたので、そもそもどこをどうすれば回避できますか!?  以上宜しくお願いいたします。  

  • アクセス2007の使用方法についてです。

    二つのデータを、以下のような形で結合したいのですが データ量が20万ほどもあるため、エクセルでできません。 そのため、アクセスで結合する必要があるのですが、 ほとんどアクセスを使った事がないため、やりかたを教えて頂きたく… シート1 ID・・・重複は無し。数値。 ミョウジ・・・カタカナテキスト ナマエ・・・カタナカテキスト アドレス・・・半角英数字 pass・・・半角英数字 シート2 ID・・・重複は無し。数値。シート1のものと同じもの      (但し、シート1のものより若干データが多い) 残高・・・数値 で、これらをIDを元に一つのシートにしたいんですが、 どのように処理したら良いでしょうか? 漠然とリレーションシップとかいう機能を使えばいいのかな…と 考えているのですが… 何卒お力添えを頂きたく存じます。

  • MS ACCESS 2003 サブレポート機能でメインレコードと関係の

    MS ACCESS 2003 サブレポート機能でメインレコードと関係のないレコードも表示される どなたかアクセスに詳しい方、教えて頂けませんでしょうか。 MS ACCESS 2003 にて、帳票印刷システムを構築しております。 ・請求ヘッダテーブル・・・顧客ID、顧客会社名、顧客氏名、住所 等 ・請求明細テーブル・・・顧客ID、請求明細名、単価、数量、小計 等 となっております。 こちらの状態で、顧客ID別(1人ずつ)に、紙面の上部に請求ヘッダテーブルの情報を羅列し、 紙面の下部に表形式で請求明細テーブルを表示するような形式の「レポート」を作成したいと考えております。 そこで、メインレポート/サブレポート機能を使って、上記を実現したいと思い、以下のような手順でトライしているのですが、サブレポート部分(デザインビューで見た場合の「詳細」部分)に、でメインレポート部分の顧客IDの請求明細データではないレコード(違う顧客IDの請求明細)まで表示されてしまいます。 ■リレーションを作成 ・メニュー「ツール」⇒「リレーションシップ」にて、請求ヘッダ-請求明細をひもづけ。 ・参照整合性にチェック。 ・結合の種類は「請求明細の全レコードと請求ヘッダの同じ結合フィールドのレコードだけを含める」。 ■レポートを作成 ・レポート⇒新規作成⇒レポートウィザードでレポートを作成。請求ヘッダのみの情報で作成。 ・デザインビューの詳細部分にて、サブレポートを呼び出し。請求明細テーブルを選択し、顧客ID、請求明細名、単価、数量、小計 等を選択。 上記のようにすると、顧客IDとは関連なく(正しい詳細データもそうでないデータも合わせて)10件の請求明細データが表示されます。 また顧客ID=1の場合も、次のページの顧客ID=2の場合もすべて同じ10件の明細データが現れます。 インプレスのアクセス本を参照しながら作業しているのですが、詳しくない分非常に苦労しております。 どなたか、なにとぞよろしくお願いいたします。

  • アクセスで集計って出来ますか?

    アクセスで出したデータをExcelにエクスポートして集計しないとならないのに、出来ません。エクスポートボタンをクリックして何分経ってもエクスポートできず、あげくのはてにはエラーで応答しなくなります。今日3時までに抽出が必須なのでパニックです。。・゜・(ノД`)・゜・。初歩の質問ですみません。アクセスでクエリを使い出したデータを、アクセス上で集計する方法あるんですか?例えば、A社B社の各月の売り上げをクエリを実行し出したとします。それをExcelにエクスポートしてから集計するのではなくアクセス上で二社の売り上げ総合計をだすこと出来ますか?どなたかお詳しい方教えて下さい。アクセス初めて使うのに誰も教えてくれないので助けてください(>人<;)

専門家に質問してみよう