みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Accessクエリの、JOINの数の限界について

トランザクション系の大きなテーブルAに対し、多数のコード系テーブル(コードに対する名称を格納してあるテーブル)をJOINしてクエリを作っています。
テーブルAの大きさは、約200項目*約1000行程度です。

テーブルAに対し、次々にコード系テーブルをJOINしていっていたのですが、コード系のテーブルが19個になった途端にクエリが反応しなくなりました。

18個目までは、クエリを実行し、通常通りデータを参照することができるのですが、19個になった途端、クエリが反応しなくなってしまいました。具体的には、クエリのアイコンをダブルクリックした時点で固まったようになり、反応しなくなりました。30分ほど放っておいたのですが反応はないままでした。

なお、このクエリに使っているテーブルはイントラネットで繋がっているサーバのOracleDBからリンクしているテーブルです。そのため、通常、クエリを実行するとOracleへのログインダイアログが表示されるのですが、上記のコード系テーブル19個をJOINして実行した際には、このログインダイアログも表示されませんでした。このことから、反応がないのは性能的な問題ではなく、何らかの制限がかかっているのではないかと疑っています。

Accessのクエリには、JOINするテーブル数に上限があるのでしょうか。

投稿日時 - 2006-09-21 20:59:58

QNo.2422442

すぐに回答ほしいです

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

レコードセットの制限を越えたのでないかと思うのですが・・。
Accessの仕様としてクエリのテーブル数が32・レコードセットのフィールド数が255・レコードセットのサイズが1GB・ネストしているクエリのレベルの数が50などの制限があります。
>コード系のテーブルが19個になった途端にクエリが反応しなくなりました。
19個目のテーブルをJOINした際に何か制限を越えたのではないかと思いますが。
フィールド数が超えたとか・・。
レコードセットのフィールド数など確認してみてはどうでしょうか。

投稿日時 - 2006-09-22 10:53:26

ANo.2

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

こちらにある「リレーションシップの設定数」がそれに該当するのか正直良く解りませんが、似たような経験があります。

http://hp.vector.co.jp/authors/VA014071/tips/spec_ac.html

私の場合は元テーブルが外部テーブルでは無くフィールド数も数十程度だったので、クエリーでテーブルを2分割してから、コード系と繋いで、再度それらを繋げました。

投稿日時 - 2006-09-21 23:29:05

あなたにオススメの質問