- 締切済み
マイクロソフトアクセスについて
アクセスでデータベースを作っているのですがテーブルを結合させてクエリを作成しているのですが巧く動きません。一般的なものは、自分でできるのですが今回は、ちっょと悩んでいます。 <組合せの内容は> (1)AテーブルにAコード:Bコードがあります。 Aコードは、2000レコードあり重複していません。 Bコードは、同じものもあります。 (2)BテーブルにBコード:C1~C171までのコードが Bコードは、170レコードあり C1~C171までは、同じものもありますし空白のものもあります。 今回作成したいのがAコード:C1~C171コードです。 自分でクエリを作成してみたのですがデータが表示されません。 何かよいヒントを教えてくださると助かります。
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- yuziro
- ベストアンサー率41% (5/12)
msystemさんの回答に対する補足のとおりに、 Aテーブル、Bテーブルを作りました。 デザインビューで新規クエリを作成し、 AテーブルとBテーブルをクエリに追加し、 AテーブルのBフィールドをドラッグして、 BテーブルのBフィールドの上にポンと落とします。 AテーブルのAフィールドと、 BテーブルのC1~C4フィールドを表示するように設定し、 クエリをビューで開いてみますと、 何の問題もなく開きました。 Cテーブルというのが、 文章の最後にちらっと見えましたが、 それがくせ者かな?という気がしますが・・・
再度、joutarouです。 AテーブルのAコードに主キー Bテーブルは主キーなしです。 リレーションシップを表示し、Bコード同士を結合。 結合プロパティで2にチェックします。 参照整合性はチェックしません。 種類は1対1でも1対多でもなく、未定義で出来ます。 では、では。
お礼
色々ご親切にありがとうございます。 今、出来ました。うれしい!!
補足
ありがとうございいます。 回答どおり実施してみたのですが結合してCコードは、表示されるのですがAコードが空白となってしまいます。 どうしてでしょうか?
- msystem
- ベストアンサー率42% (79/186)
テーブル構造を確認させてください。 Aテーブル --------------------- | A | B | --------------------- | 1 | 1 | | 2 | 1 | | 3 | 2 | | 4 | 3 | | ・・・ | ・・・ | --------------------- | | | ------重複あり(空白なし?) ------重複なし(空白なし?)2000レコード Bテーブル ----------------- ------------------------------------------- | B | C | | B | C1 | C2 | ・・・ | C171 | ----------------- ------------------------------------------- | 1 | C1 | | 1 | abc | bdf | ・・・ | | | 2 | | or | 2 | | juo | | olp | | 3 | C24 | | 3 | | | | | | ・・・ | ・・・ | | ・・・ | ・・・ | ・・・ | ・・・ | ・・・ | ----------------- ------------------------------------------- | | | -----重複・空白あり -----重複・空白なし?170レコード 表示したい形 ----------------- ------------------------------------ | A | C | | A | C1 | C2 | ・・・ | C171 | ----------------- ------------------------------------ | 1 | C34 | or | 1 | abc | | ・・・ | | | 2 | C2 | | 2 | | | | | ----------------- ------------------------------------ Bテーブル、表示したい形はどちらでしょうか? また、表示したい形のAコード・C(C1~C171)は空白も表示するのですか?
お礼
色々ご親切にありがとうございます。 今、出来ました。うれしい!!
補足
ありがとうございます。 Bテーブルは、 B |C1|C2|C3|C4|.... B1 |aa|bb| |cc|.... B2 |bb| |cc| |.... B3 | |cc|dd| |.... C1~C171までは、空白があります。 Bは、B1~あり重複は、ありません。 ※補足としてAテーブルは、 A |B | 111|B1 | 222|B2 | 333|B1 | 444|B3 | どちらも空白はありません。 作成したいクエリは、 A |C1|C2|C3|C4|.... 111|aa|bb| |cc|.... 222|bb| |cc| |.... 333 |cc|dd| |.... です。 やはり空白は、まずいでしょうか? それにAテーブルは、1対多でありBテーブルは、上記 のように1対多&空白ですし... こんなデータです。 Cテーブルは、
こんにちは、 jotarou といいます。 今のお困りの件ですが、 AテーブルのBコードとBテーブルのBコードを多対1のキーとしているのですか? さらに、BテーブルのBコード中には、空白があるのでしょうか? あるとすれば、それはヌルでしょうか?キーとしている場合は、ヌルや空白はよくありません。これが原因でないでしょうか? では・・・
お礼
色々ご親切にありがとうございます。 今、出来ました。うれしい!!
補足
ありがとうごさいます。 結果としてクエリが多対1となるのが原因でしょうか? AテーブルのBコードは、多。 BテーブルのBコードは、1。です。 ここ2週間ずーとにらめっこ状態です。やはり1対1で ないと難しいでしょうね!
- bei
- ベストアンサー率0% (0/4)
テーブルの主キー(鍵のマーク)は設定されていますか?
お礼
色々ご親切にありがとうございます。 今、出来ました。うれしい!!
補足
ありがとうございます。 AテーブルのAコードを主キーを設定しています。
お礼
色々ご親切にありがとうございます。 今、出来ました。うれしい!!
補足
ありがとうございます。 やはりmsystemさんの補足どおり実施しyuziroさんの回答どおり何度も実施クエリは開きます。 ところがAコード表示されません。