VBA 中的 1 列中的内部联接字符串和整数值
Inner Join String & Integer Value both in 1 column in VBA
请在下面找到我的 table 和 VBA 代码。
table 1:-
table 2:-
需要输出
我收到 表达式中的类型不匹配。 错误,我认为这是因为在 table 2 中字符串和整数值都可用。
请在下面找到我的 VBA 代码并指导我如何执行内部连接。
Sub sql()
sql_string = "SELECT [Sheet1$].[Sr], [Name],[Sheet3$].[Names] FROM" & _
"[Sheet3$] INNER JOIN [Sheet1$] ON [Sheet1$].[Sr]=[Sheet3$].[Sr]"
sq = SQL_query(sql_string)
end sub
Function SQL_query(ByRef sql_string As Variant)
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
strFile = ThisWorkbook.FullName
strCon = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & strFile _
& ";Extended Properties=""Excel 12.0;HDR=Yes;IMEX=1"";"
Set cn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")
cn.Open strCon
strSQL = sql_string
rs.Open strSQL, cn ''Here i am getting error...
Sheet5.Range("A2").CopyFromRecordset rs
End Function
更改 sql 查询以确保 Sr
都作为字符串进行比较
sql_string = "SELECT [Sheet1$].[Sr], [Sheet3$].[Names] FROM [Sheet3$] INNER JOIN [Sheet1$] ON CStr([Sheet1$].[Sr])=CStr([Sheet3$].[Sr])"
请在下面找到我的 table 和 VBA 代码。
table 1:-
table 2:-
需要输出
我收到 表达式中的类型不匹配。 错误,我认为这是因为在 table 2 中字符串和整数值都可用。
请在下面找到我的 VBA 代码并指导我如何执行内部连接。
Sub sql()
sql_string = "SELECT [Sheet1$].[Sr], [Name],[Sheet3$].[Names] FROM" & _
"[Sheet3$] INNER JOIN [Sheet1$] ON [Sheet1$].[Sr]=[Sheet3$].[Sr]"
sq = SQL_query(sql_string)
end sub
Function SQL_query(ByRef sql_string As Variant)
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
strFile = ThisWorkbook.FullName
strCon = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & strFile _
& ";Extended Properties=""Excel 12.0;HDR=Yes;IMEX=1"";"
Set cn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")
cn.Open strCon
strSQL = sql_string
rs.Open strSQL, cn ''Here i am getting error...
Sheet5.Range("A2").CopyFromRecordset rs
End Function
更改 sql 查询以确保 Sr
都作为字符串进行比较
sql_string = "SELECT [Sheet1$].[Sr], [Sheet3$].[Names] FROM [Sheet3$] INNER JOIN [Sheet1$] ON CStr([Sheet1$].[Sr])=CStr([Sheet3$].[Sr])"