- ベストアンサー
Access リレーションシップの設定・解除
2種類のクエリーをテーブルにインポートさせた後、リーレーションシップを貼るのに マクロかモジュールで自動化させていのですが? リレーションシップの設定・解除を行う方法(マクロかモジュール)を教えてください。
- shige-naka
- お礼率87% (7/8)
- Visual Basic
- 回答数3
- ありがとう数3
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
浅学で自動で行うニーズが分かりませんので教えて下さい。 「access createrelation vba」でググると結構ヒットしますので、必要とする方が居るのですね。 http://www.geocities.jp/cbc_vbnet/tips/relation.html http://www.tek-tips.com/viewthread.cfm?qid=1231821&page=7
その他の回答 (2)
- piroin654
- ベストアンサー率75% (692/917)
まず、テーブル同士のリレーションが設定 してなくてもクエリでリレーションシップ を張った場合にテーブルのリレーションが システムに設定されるかと言えば、設定は されません。 クエリで取ってきたデータにはシステムのリレー ションシップは含まれていません。つまり、クエリ は結果セットであって、テーブルではありません。 テーブルならばテーブルそのものをインポート し、ついでにコードでリレーションシップもイン ポートできます。 クエリのデータの元になっているテーブルをそのまま インポートするならばコードでリレーションシップも コピーできます。 たとえクエリでデータをインポートしてもデータを コピーしたテーブル同士のリレーションシップは手動 で行なうようになります。 以前、テーブルのインポートと同時にリレーションシップ もインポートする質問に回答したことがあります。 http://oshiete1.watch.impress.co.jp/qa5952603.html http://oshiete1.watch.impress.co.jp/qa5960598.html もし、必要ならばクエリ、テーブル、リレーションシップを セットで取ってくればいいのではないですか。 #1の方のいわれていることにプラスして、Accessで リレーションシップが必要になるのはごくまれです。 リレーションシップが効いてくるのは、主テーブルと キーで紐付けられた明細テーブルで、必要のない データを主テーブルのレコードを削除すれば それに伴い、明細テーブルのレコードが削除される 連鎖削除くらいです。 とは言っても、テーブルでサブデータシートを 設定すればデータを階層的に見ることができる というメリットはあります。
お礼
ありがとうございました。参考になりました。 当初、主TBLと明細TBLを紐付け(他に幾つかのフィールドのコードとそれに対応した用語TBLも参照)検索・照会(フォーム)を行うのにクエリーとサブフォームで行っておりましたが、明細レコードの数が多いため時間がかかっていました。少しでも早くするためにリレーションを張り対応しました。 他に良い方法が有ればまたお聞かせください。
- yorozu_ya
- ベストアンサー率54% (76/140)
テーブルは都度新規作成するのですか? それとも既存のテーブルにインポートするのですか? リレーションシップを設定する必要があるのですか? (設定しないと、どのような不都合があると認識していますか?)
お礼
ありがとうございました。参考になりました。 当初、主TBLと明細TBLを紐付け(他に幾つかのフィールドのコードとそれに対応した用語TBLも参照)検索・照会(フォーム)を行うのにクエリーとサブフォームで行っておりましたが、明細レコードの数が多いため時間がかかっていました。少しでも早くするためにリレーションを張り対応しました。 主・明細TBL共、日々増減するため、主TBL(用語付与)クエリーと明細TBL(用語付与)を日々インポートしています。
関連するQ&A
- アクセス2000のルックアップ設定後のリレーションシップ
アクセス2000のルックアップを設定後のリレーションシップが自動で作成されることは理解しています。テーブル4つの内1つ(データの流れ的に最後に相当)に設定しました。リレーションシップ線が4つできてしまい、テーブル名がテーブル名に1、2、3と増えてしまいました。邪魔なのでリレーションシップから「テーブルを表示しない」を押し消しても作業してからリレーションシップを確認すると再度表示されてしまいます。また解除(テーブルをデザインモードにして、標準横のルックアップタブを押し、表示コントロールをテキストにする)をしてもリレーションシップの線が消えません。なにか操作方法がおかしいのでしょうか?機会の誤動作でしょうか?
- ベストアンサー
- その他(データベース)
- ACCESSのリレーションシップ設定について
お世話になっております。 添付画像にありますように、3つのテーブルからデータを抽出する クエリーを作成したいのですが、リレーションシップをどのように 設定すればよいか教えてください。 いろいろ試したのですが、以下のような問題が発生し、困っています。 ・クエリーに新規データを入力できない。もしくは、既存データを修正できない。 ・クエリーに誤った組み合わせが抽出され、データ数が3倍くらいなる。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- Access(リレーションシップについて)
Win XP Office 2003 Accessを勉強中です。 デザインビューでクエリを作成するときに、関連するテーブルを表示させると自動的に「結合プロパティ」の線が表示されますが、 この表示で自動的に「1対多」を表示する時としない時がありますが、これは何故でしょうか。 これはどこかから設定をしてやるのでしょうか。 また、同じような線としてメニュバーから「リレーションシップ」を表示させることが出来ますが、 内容的には「結合プロパティ」と同じものですが、これは「リレーションシップ」とはどのようなに使い分けるものでしょうか。
- ベストアンサー
- オフィス系ソフト
- アクセスで設定したリレーションシップを取り消すにはどうすればいいのでしょう
アクセスで設定したリレーションシップを取り消すにはどうすればいいのでしょう?リレーションシップの設定に使ったサンプルをもう一度リレーションシップの設定の練習につかおうとすれば、リレーションシップを解除しておかなければならないからです。
- ベストアンサー
- オフィス系ソフト
- アクセスリレーションシップについて
こんにちは。 リレーションシップでテーブルとクエリをつないでいます。テーブルは5つあり、その中から例えば名前を入れて検索を掛けると、その5つのテーブルから該当するものを抽出したいのですが、どのようにしたらいいでしょうか?? 一応テーブルをす繋げるところまでは出来ていますので、検索して抽出をかける方法を教えて頂ければと思います。 説明が不十分かもしれませんが、ご教授願います!
- 締切済み
- オフィス系ソフト
- アクセスのリレーションシップとクエリ
私は、アクセスの初心者です。なので、難しいことはよく分からないのですが、アクセスではある1つのフィールドをキーにしてくっつけたりすることができるじゃないですか?そのキーを設定したりするのはリレーションシップでも、クエリでも同じような感じで行うと思うのですが、その2つの違いはクエリはそれをテーブルとして表示できるのに対して、リレーションシップはただ定義するしかできずテーブルとして表示はできないのでしょうか? あと、クエリとかである条件で抽出したテーブルの1つのフィールドのSUMを出したいのですがどういった条件式を書けばいいのでしょうか? なにぶん、初心者ゆえに質問が分かりにくいと思いますが、どうかよろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- Access 複数テーブルのリレーションシップ
Access2013 4種類の名簿をそれぞれのテーブル(4種類)で管理してありますが、 同じ方(氏名)が4種類の名簿全部には無く、2つや3つの名簿にばらばらにあります。 この4つのテーブルを同時に表示し入力できる分割フォームをつくりたいのですが、 この際の、4つテーブルの氏名をリレーションシップする結合プロパティの設定方法を教えて下さい。 あるいは、クエリのそれぞれのテーブルのフィールド(氏名)の抽出条件になんと書き入れたらよいか。教えて下さい。 宜しくお願いします
- ベストアンサー
- その他MS Office製品
- MS ACCESSにおいてのリレーションシップ設定
ACCESSを使用してシステムを構築しているのですが、テーブル間のリレーションシップについて疑問があります。 リレーションシップを設定することにより、データベースの整合性を得ることができますが、その他のメリットはあるのでしょうか? ある文献では検索時間の短縮になるとあったのですが、本当なのでしょうか? 通常の表結合クエリーと参照整合性以外の違いはどのようなものでしょうか? 回答をお願いします。
- ベストアンサー
- その他(データベース)
- 追加質問です。リレーションシップの設定方法?
先ほど質問したばかりなのですが、クエリで生年月日から年齢を出すDateDiff関数を設定してクエリの中ではできたのですが、テーブル、フォーム内ではできません。やはり、リレーションシップの設定の仕方が悪いのでしょうか?それとも、テーブル、フォームのそれぞれで関数を設定する方法があるのでしょうか?教えてください。よろしくお願いします。。。
- ベストアンサー
- オフィス系ソフト
- アクセスでのリレーションシップの設定方法を教えてください。
こんばんは。アクセス初心者です。フォームで入力して、テーブル、クエリですぐに反映させるにはどうしたらよいのでしょうか?私が今作成しようとしているデータベースは次のようなものです。 病院にて(1)患者マスター(患者IDと名前、年齢、性別など)のテーブル、クエリ、フォーム。(2)検査件数(患者ID、名前、年齢、検査材料、検査依頼日、発生した細菌など)のテーブル、クエリ、フォーム。 これらは作ったのですが、リレーションシップの仕方がよく解らないのでここから進めません。例えば、(2)検査件数のフォームで患者IDを入力したら自動的に名前、年齢、性別が入力されるようにしたいのですが。 よろしくおねがいします。
- ベストアンサー
- オフィス系ソフト
お礼
ありがとうございました。参考になりました。 当初、主TBLと明細TBLを紐付け(他に幾つかのフィールドのコードとそれに対応した用語TBLも参照)検索・照会(フォーム)を行うのにクエリーとサブフォームで行っておりましたが、明細レコードの数が多いため時間がかかっていました。少しでも早くするためにリレーションを張り対応しました。 主・明細TBL共、日々増減するため、主TBL(用語付与)クエリーと明細TBL(用語付与)を日々インポートしています。 インポート後にリレーションを張るところまでモジュール化させたくて。。。