繁体   English   中英

使用 Excel 作为数据库从多个工作表中提取数据

[英]Pull data from multiple worksheets using Excel as database

如果您建议我如何使用 ADODB 记录集从多个 Excel 工作表中查询和提取数据,那将非常有帮助。 下面是我的 VBA 脚本,它向我抛出“类型不匹配错误”。

VBA代码:

Dim sSQLQry As String
Dim conn As New ADODB.connection
Dim mrs As New ADODB.Recordset
Dim DBpath As String
Dim sconnect As String

Private Sub Generate_Testcase_Click()
DBpath = ThisWorkbook.FullName
sconnect = "Provider=MSDASQL.1;DSN=Excel Files;DBQ=" & DBpath & ";HDR=Yes';"
conn.Open sconnect

sSQLQry = "SELECT TOP 1 [Sheet1$].EMPLOYEEID FROM [Sheet1$] INNER JOIN [Sheet2$] ON [Sheet1$].EMPLOYEEID =[Sheet2$].PPTID AND [Sheet2$].UNION_CD =[Sheet1$].UNID"

mrs.Open sSQLQry, conn, adOpenStatic, adLockReadOnly
MsgBox mrs.Fields(0) & " , " & mrs.Fields(1)
mrs.Close
conn.Close
End Sub

我也尝试了以下查询,但仍然出现同样的错误。

sSQLQry = "SELECT TOP 1 [Sheet1$].EMPLOYEEID FROM [Sheet1$], [Sheet2$] WHERE [Sheet1$].EMPLOYEEID =[Sheet2$].PPTID AND [Sheet2$].UNION_CD =[Sheet1$].UNID"

请帮我解决问题。

最后,我发现了问题,两列 [Sheet1$].EMPLOYEEID 和 [Sheet2$].PPTID 的格式不同。 一旦我将两列都更改为相同的格式,问题就得到了解决。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM