|
网上找了很多教程,也请教了同事。
但是目前对于VBA写入SQL并不太熟悉,特此发帖请教一下。
Sub SQL练习()
Dim cnn As Object
Dim SQL1 As Variant
Dim Rst1 As Object
SQL1 = "SELECT * FROM [数据源$]"
Set cnn = CreateObject("adodb.connection")
cnn.Open "provider=Microsoft.ACE.OLEDB.12.0;extended properties=excel 12.0;data source=" & ThisWorkbook.FullName
Set RST1 = cnn.Execute(SQL1)
Worksheets("sheet2").Range("A1").CopyFromRecordset RST1
Set cnn = Nothing
cnn.Close
END SUB
上述这段VBA中有以下几点不明白的地方。
【1】Set cnn = CreateObject("adodb.connection")
这段代码中 CreateObject("adodb.connection") 所表达的意思是?
【2】cnn.Open "provider=Microsoft.ACE.OLEDB.12.0;extended properties=excel 12.0;data source=" & ThisWorkbook.FullName
这段代码中,三个参数【Provider】、【Extended Properties】、【Source】分别代表的是什么意思?
【3】Set RST1 = cnn.Execute(SQL1)
这段代码所表达的意思是?
【4】Set cnn = Nothing和cnn.Close
为何结尾处需要申明cnn = Nothing 和进行Close操作?
【5】代码执行错误
在其它场景使用上述代码并修改参数,出现提示
【运行时错误 ‘-2147467259(80004005)’ 自动化(Automation)错误】
这种情况下是哪个位置的参数出错?
以上几点感谢各位的解答,谢谢。
|
|