我是VBA的初学者,如果问题水平较低,请不要介意。我正在尝试运行一个SQL查询,在其中从同一工作簿的一个工作表中提取数据。
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
现在,我已经从数据表中获取了数字,接下来需要从关系表中找到相应的产品公司。例如,9代表阿姆尔公司,5代表雀巢公司等等。
关系表如下: 我不确定如何做到这一点。这些数字按顺序对应它们各自的产品公司。