[英]How do I connect to SQL Server using VBA?
我想使用從SQL Server數據庫中提取的數據來自動化某些郵件合並功能。 這是我正在使用的代碼:
Sub open_DSN()
Dim strConnection As String
ActiveDocument.MailMerge.CreateDataSource Name:="DB-NAME", _
Connection:="Provider=SQLOLEDB.1;Persist Security Info=False;Initial Catalog=DB-NAME;Data Source=DATA-SOURCE", _
SQLStatement:="select * from DataTable"
ActiveDocument.MailMerge.OpenDataSource Name:="DB-NAME"
If ActiveDocument.MailMerge.DataSource.Name <> "" Then _
MsgBox ActiveDocument.MailMerge.DataSource.Name
' – code lifted from MS Help within Word that seems the nearest to what I require
'With ActiveDocument.MailMerge
' .MainDocumentType = wdFormLetters
' strConnection = "DSN=MS Access Databases;" _
' & "DBQ=C:\Northwind.mdb;" _
' & "FIL=RedISAM;"
' .OpenDataSource Name:="C:\NorthWind.mdb", _
' Connection:=strConnection, _
' SQLStatement:="SELECT * FROM Customers"
'End With
With ActiveDocument.MailMerge
.MainDocumentType = wdFormLetters
strConnection = "Provider=SQLOLEDB.1;Persist Security Info=False;Initial Catalog=DB-NAME;Data Source=DATA-SOURCE"
.OpenDataSource Name:="DB-NAME", _
Connection:=strConnection, _
SQLStatement:="SELECT * FROM DataTable"
End With
End Sub
不幸的是,我無法獲得此代碼來顯示數據。 我究竟做錯了什么?
您是否用連接字符串中的實際值替換了“ DB-NAME”和“ DATA-SOURCE”?
那么,您是否有一個名為DATA-Source的SQL Server實例以及一個名為DB-Name的數據庫?
可能不是?
更像MyServer \\ MyInstance和MyDatabase
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.