この人頭いいなと思ったエピソード

エクセルに2つのシートがあります。
シート名"男性用","女性用"
それぞれのシートに"名前"の列があります。
この2つのシートを内部結合して検索したいのですが
可能でしょうか

----------------------シート1個の場合
Dim cn As ADODB.Connection
Set cn = New ADODB.Connection
cn.Provider = "Microsoft.Jet.OLEDB.4.0"
cn.Properties("Extended Properties") = "Excel 8.0"
cn.Properties("Data Source") = App.Path & "\test.xls"
cn.Open

Dim cmd As ADODB.Command
Set rst = New ADODB.Recordset
rst.Source = "Select * From [男性用$]"
rst.ActiveConnection = cn
rst.CursorType = adOpenDynamic
rst.Open , , , , adCmdText

'------------------------------
これで取り出せますがシート2つを内部結合させたいばあい

rst.Source = "Select * From [男性用$]"

はどう変えたらいいでしょうか

excelでなければ

select * from 男性用 inner join 女性用 on 男性用.名前=女性用.名前

となると思いますが。

A 回答 (2件)

>シート2つを内部結合させたいばあい


(1)結合条件がある場合
select A.*,B.* from [男性用$] As A inner join [女性用$] As B
on A.名前=B.名前
(2)単に両方を一度に見たい場合
select * from [男性用$] union all select * from [女性用$]
    • good
    • 1
この回答へのお礼

inner join はうまく動きませんでしたが、
union all select で解決できました。
ありがとうございました。

お礼日時:2008/12/25 08:15

結合するだけなら



Rst.Source = "Select * From [男性用$] Inner Join [女性用$] On [男性用$].名前 = [女性用$].名前"

これで出来るかと思いますが。

ただ、ちょと疑問あり。
男性用名前と女性用名前をキーにしていいのですか?
思うにこの名前とは男女個人の名前ではなく別の名前でしょうね。
以上。
 
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報