![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
2つのテーブルから絞込み検索をして貼り付け
VB6.0とACCESS2003で開発をしています。
AテーブルとBテーブルの2つありましてAとBは1対Nの関係で整理番号(SNO)でひもづかせています。
現在、Bテーブルを先に貼り付け、貼り付けたBテーブルとSNOが一致するAテーブルの情報を格納するところで行き詰っています。
流れとして、
1.AテーブルをWHERE句を使って絞込み検索
2.Bテーブルを絞り込まれたAテーブルのSNOを基に検索
現在のエラー内容
結合式がサポートされていません
SELECT B.[SNO],[AAA],[BBB] FROM B LEFT JOIN A ON A.[SNO]='rst!SNO'
エラー箇所
A.[SNO]='rst!SNO'
rst!SNOの中身は'5'ですが、VBに書いているコードを載せたのでrst!SNOとしました。
やりたいこと
1.流れ1でSNOが5と6だったら2でSNOが5と6の情報を抜き出す
流れ1は検索して、貼り付けまで完了しています。
長くなって申し訳ありません。エラー原因と対処法などを教えて頂けると幸いです。
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_05.png?5a7ff87)
No.1ベストアンサー
- 回答日時:
細かいコードの書き方が分からないので(私の想像範囲外のエラーもあるかもしれないので)方向性だけ書きますね。
>現在、Bテーブルを先に貼り付け、貼り付けたBテーブルとSNOが一致するAテーブルの情報を
>格納するところで行き詰っています。
流れを見ると、やりたいことは先にAテーブル(1側)を検索し、その検索結果に対応するBテーブル(N側)のデータを取得(読み取りのみで更新しない)したいものと理解します。
・個別に各テーブルを検索するのではなく、AとBを結合したレコードセットを検索すれば
いいと思います。
・レコードセットの元のSQLはこんな感じです。(AAA、BBBはBテーブルの項目と想定して
記述しています。またAに対応するBが存在しない場合にキー以外の項目にNULLを返すために
SELECTでの[SNO]はAテーブル側を使用してLEFT JOINとしていますが、それが不要なら
INNER JOINでもかまいません。)
SELECT [A].[SNO], [B].[AAA], [B].[BBB]
FROM [A]
LEFT JOIN [B] ON [A].[SNO] = [B].[SNO]
WHERE [A].これ以降にテーブルAの検索条件を記述してください。
・上記SQLには、処理の必要に応じてORDER BY句を設定して並び替えてください。
>エラー原因
本物のコードを見ていないので確かなことは言えませんが
・SQL文中の ON 以降にテーブルAB間の結合条件が記述されていない。
ここは ON [A].[SNO] = [B].[SNO] のようになると思います。
・A.[SNO]='rst!SNO' と本当に記述しているなら・・・それは「テーブルAのSNOの内容が
"rst!SNO"という文字列(VBのコード中のrst!SNOが示す内容ではないことに注意)と
一致している」と言う意味なのでそこがおかしい。
sppla様>
遅れて申し訳ありません。sppla様の回答を基に修正したところ、無事問題が解決しました。
丁寧に書いて頂いたおかげで自分のSQLの間違いにも気づくことができたのでとても勉強になりました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAで実行時エラー'424' オブジェクトが必要ですと出る 2 2022/10/07 09:25
- Oracle 下記のsqlで取得されるレコード以外を取得する方法ありますでしょうか。 SELECT B.番号, B 2 2022/04/20 23:21
- Access(アクセス) AccessVBAで降順にするテーブル作成クエリを使用して作成したテーブルを削除し同一のテーブル作成 1 2023/01/06 11:17
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- Oracle SQL update方法 2 2022/06/22 14:07
- 車検・修理・メンテナンス 車の傷消し 本当ですか。 1 2022/04/13 19:08
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- Oracle 質問です。 下記のテーブルとデータがあり、 取得想定結果のように出力したいです。 下記のsqlだと0 2 2023/05/23 19:10
- Visual Basic(VBA) Access VBAから使用したExcelプロセスを閉じる方法について 4 2022/06/08 17:50
- SQL Server ACCESSで表が作りたく、そのためのSQL文や設定方法を教えてください。 1 2022/08/15 12:28
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SQL構文です 画像のようにした...
-
1対1のリレーション(主キー同...
-
外部キーだけのテーブル(主キ...
-
会社の飲み会の幹事になり、座...
-
2つのテーブルのカウント結果...
-
テーブルリンク リンク元を知...
-
L2SWはARPテーブルを持っている?
-
複雑なSQL文について
-
テーブル:生徒名簿 生徒名簿の...
-
「テーブルに座って……」という...
-
男性と2人で飲食店に行きテーブ...
-
アクセスのリンクテーブル一覧...
-
ACCESS VBA でテーブルの定義だ...
-
LEFT JOINを多用するのはよくな...
-
まるいテーブル 円い 丸い 漢字...
-
Accessで最小値と最大値を一度...
-
論理名とコメント構文(?)について
-
お金持ちのテーブル
-
妹が、メルカリで売れた商品を...
-
木製の六角形のテーブルとベン...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
L2SWはARPテーブルを持っている?
-
外部キーだけのテーブル(主キ...
-
fetch_arrayでのエラー
-
テーブルリンク リンク元を知...
-
男性と2人で飲食店に行きテーブ...
-
会社の飲み会の幹事になり、座...
-
SQLです!!教えてください。
-
面接のときテーブルが正面に。...
-
飲み会で、座敷orテーブルどち...
-
「テーブルに座って……」という...
-
複雑なSQL文について
-
このテーブルで
-
MySQLで複数テーブルを作成する
-
アクセスのリンクテーブル一覧...
-
ちょっとぐらいの時間なら里山...
-
SQLでテーブルの値を集計して、...
-
件数の多い順にselect
-
論理名とコメント構文(?)について
-
【PHP】SQL文のSUM関数で出力し...
-
オーダーの覚え方について
おすすめ情報