VBA中連接SQLSERVER數(shù)據(jù)庫例子
更新時間:2014年07月24日 10:16:43 投稿:junjie
這篇文章主要介紹了VBA中連接SQLSERVER數(shù)據(jù)庫例子,VBA是指Visual Basic for Applications,是Visual Basic的一種宏語言,需要的朋友可以參考下
我們在使用excel編程時,很多時候都需要使用數(shù)據(jù)庫。
那么如何連接數(shù)據(jù)庫然后從數(shù)據(jù)庫讀取數(shù)據(jù)呢?
VBA 連接 SQL SERVER 數(shù)據(jù)庫 實例:
Dim strConn As String, strSQL As String
Dim conn As ADODB.Connection
Dim ds As ADODB.Recordset
Dim col As Integer
'連接數(shù)據(jù)庫的字符串
strConn = "Provider=SQLOLEDB.1;Persist Security Info=True;User ID=[user];Password=[password];Initial Catalog=[database];Data Source=[數(shù)據(jù)庫IP地址或數(shù)據(jù)庫服務器名稱];Connect Timeout=720; "
'查詢語句,如果sql語句很長可以用strSQL=strSQL+來連接分成多段的語句,如果語句很短可以只寫在一行上。
strSQL = "select * from Hy_KPI_Shop_Dept_WeekRpt "
strSQL = strSQL+"where sdate='2014-01-01' order by sdate,shopid "
Set conn = New ADODB.Connection
Set ds = New ADODB.Recordset
'打開數(shù)據(jù)庫連接
conn.Open strConn
'該句和數(shù)據(jù)庫連接字符串處的Connect Timeout=720,表示說如果語句運行時間很長,這兩句可以延長vba的等待時間,沒有這兩句,vba往往會報查詢超時。
conn.CommandTimeout = 720
With ds
'根據(jù)查詢語句獲得數(shù)據(jù)
.Open strSQL, conn
'自動控制加入所有列標題
For col = 0 To ds.Fields.Count - 1
'請注意Offset(0, col)中的參數(shù)一定要正確,該句表示標題將會寫在第一行,從A1單元格開始,如果不想寫入標題行,可將下面這句注釋掉。
Worksheets("門店各課KPI周報").Range("A1").Offset(0, col).Value = ds.Fields(col).Name
Next
'加入所有行數(shù)據(jù),該句表示查詢結(jié)果將會寫在第一行,從A1單元格開始,但是由于標題行寫在第一行了,所以實際這一行從標題下的一行寫入。
Worksheets("sheet1").Range("A1").Offset(1, 0).CopyFromRecordset ds
End With
'關(guān)閉數(shù)據(jù)庫連接和清空資源
Set ds = Nothing
conn.Close
Set conn = Nothing
您可能感興趣的文章:
- 刪除sqlserver數(shù)據(jù)庫日志和沒有日志的數(shù)據(jù)庫恢復辦法
- SqlServer修改數(shù)據(jù)庫文件及日志文件存放位置
- SqlServer2008 數(shù)據(jù)庫同步的兩種方式(發(fā)布、訂閱使用方法)
- VB語言使用ADO連接、操作SQLServer數(shù)據(jù)庫教程
- SqlServer數(shù)據(jù)庫提示 “tempdb” 的日志已滿 問題解決方案
- 用Java連接sqlserver數(shù)據(jù)庫時候幾個jar包的區(qū)別分析
- SQLServer無法打開用戶默認數(shù)據(jù)庫 登錄失敗錯誤4064的解決方法
- SQL SERVER數(shù)據(jù)庫表記錄只保留N天圖文教程
相關(guān)文章
淺談如何使用vb.net從數(shù)據(jù)庫中提取數(shù)據(jù)
這篇文章主要介紹了淺談如何使用vb.net從數(shù)據(jù)庫中提取數(shù)據(jù),使用VB提取數(shù)據(jù),是先查找,做成數(shù)組,再顯示到數(shù)據(jù)里,如果感興趣可以了解一下2020-07-07
VB的TextBox文本框?qū)崿F(xiàn)垂直居中顯示的方法
這篇文章主要介紹了VB的TextBox文本框?qū)崿F(xiàn)垂直居中顯示的方法,比較實用的功能,需要的朋友可以參考下2014-07-07

