VBA에 초보자이므로 질문이 낮은 경우 문제가되지 않습니다. 데이터가 있어야하는 SQL 쿼리를 실행하려고합니다. 같은 통합 문서의 시트 중 하나에서 추출 할 수 있습니다. 내가 데이터 시트에서 숫자를 얻을 후 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 문을 실행합니다. –
Hi Doug Coats :) 내 쿼리가 결과를 얻지 못하고 있습니다. 나는 내 코드에서 무엇이 잘못되었는지 모른다. 내 코드를 검사하고 무엇이 잘못되었는지 말해 줄 수 있습니까? 다음 결과 집합을 배열에 저장하고 논리를 반복하면서 코드를 도울 수 있습니까? 나는 그것에 대해 정말로 분명하지 않다. 나는 논리를 얻지 만 vba에서 그것을 수행한다. 시트 사이를 뒤집는 것이 나를 혼란스럽게 만드는 것이다. – Naina
은 sheetn 이름의 Data 또는 sData입니까? –