簡體   English   中英

用於數據庫連接的Excel VBA腳本

[英]Excel VBA Script for DB Connection

我是VBA的新手,在編寫腳本時需要一些指針,該腳本打開從Excel文件到SQL Server數據庫的連接。 我在https://msdn.microsoft.com/zh-cn/library/office/gg264383.aspx上引用了VBA語言參考,但是找不到有關此操作的信息。 以下是我設法從浮動的啟用宏的excel文件中抓取的內容:

Sub CopyData()
    Dim sSQL As String
    Dim rs As ADODB.Recordset
    Dim cn As ADODB.Connection
    Set cn = New ADODB.Connection
    cn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=[Server Name];Initial Catalog=[Catalog];"
    End With
End Sub

運行腳本時,出現錯誤“未定義用戶定義類型”。 並突出顯示了Dim rs AS ADODB.Recordset行。 因此,我的理解是尚未將ADODB.Recordset定義為類...但是我認為這是內置類? 並且假設這不是內置類,那么在源代碼中找不到該類的任何位置。 我的最終目標是根據excel文件中的輸入運行SQL查詢,並將查詢結果輸出到相鄰列中。 所以我的問題是:

1)在哪里可以找到有關數據庫連接對象的Microsoft文檔? 2)也許更多的是SQL問題,但是我應該如何格式化連接字符串?

Dim con As ADODB.Connection
Dim rec As ADODB.Recordset
Set con = New ADODB.Connection
Set rec = New ADODB.Recordset
rec.CursorLocation = adUseClient
con.Open ("Provider=SQLOLEDB;Data Source=ip;Initial Catalog=dbname;user ID=userid; password=password;")
Query = "SELECT unique_Id FROM data group by unique_Id;"
rec.Open Query, con
Do While rec.EOF() = False
    'do events
rec.MoveNext
Loop

添加Microsoft ActiveX數據對象2.8庫作為參考

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM