VBAの初心者ですので質問が低レベルであれば気にしないでください。データが必要なSQLクエリを実行しようとしています同じワークブックのシートの1つから抽出することができる。VBA ADODB - データベースと同じワークブックのExcelシートを使用してクエリを選択
SQL = "Select ProductNumber from [sData$] where ProductSource = " & pSource & "
'pSource is a string that stores Product Source
'sdata is a sheet named as Data in the workbook
dataPath = ThisWorkbook.Fullname
'Not sure if this is the value I shall send as datapath in getData function
Set rst = getData(dataPath,SQL)
rst.Open
のgetData関数であるが
Public funtion getData(path as String, SQL as string) as ADODB.Recordset
Dim rs as ADODB.Recordset
Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset
cn.Open ("Provider= Microsoft.Jet.OLEDB.4.0;" & _
"DataSource= " & path & ";"&_
"Extended Properties=""Excel 8.0;HDR=Yes;FMT=Delimited;IMEX=1;""")
rs.ActiveConnection =cn
rs.Source= SQL
Set getData =rs
End Function
以下のように定義して、私はデータシートから番号を取得した後、今、私は関係シートから対応する ProductCompanyを見つける必要があります。 9はAmul、5はNestleのためのものです。
関係:
私はそれを行う方法がわからないです。数字はそれぞれの製品会社に順番に対応しています。
クエリ結果を配列に格納し、ループスルー配列に格納し、配列内のデータに基づいてJOIN文を実行します。 –
こんにちはダグコート:)私のクエリは結果を得ていません。私は自分のコードで何が間違っているのかわかりません。私のコードをチェックして何が間違っているのか教えていただけますか?次は結果セットを配列に格納し、ロジックをループしてコードを助けてくれますか?私はそれについて本当に明確ではない。私は論理を得るが、VBAでそれをやっている。シート間をめくることは私を混乱させてしまうからだ。 – Naina
は、シート名のDataまたはsDataですか? –