程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> Visual Basic語言 >> VB綜合教程 >> VBA中銜接SQLSERVER數據庫例子

VBA中銜接SQLSERVER數據庫例子

編輯:VB綜合教程

VBA中銜接SQLSERVER數據庫例子。本站提示廣大學習愛好者:(VBA中銜接SQLSERVER數據庫例子)文章只能為提供參考,不一定能成為您想要的結果。以下是VBA中銜接SQLSERVER數據庫例子正文


我們在運用excel編程時,很多時分都需求運用數據庫。

那麼如何銜接數據庫然後從數據庫讀取數據呢?

VBA 銜接 SQL SERVER 數據庫 實例:

Dim strConn As String, strSQL As String
  Dim conn As ADODB.Connection
  Dim ds As ADODB.Recordset
  Dim col As Integer
 
  '銜接數據庫的字符串
  strConn = "Provider=SQLOLEDB.1;Persist Security Info=True;User ID=[user];Password=[password];Initial Catalog=[database];Data Source=[數據庫IP地址或數據庫服務器稱號];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
 
  '翻開數據庫銜接
   conn.Open strConn
 
  '該句和數據庫銜接字符串處的Connect Timeout=720,表示說假如語句運轉時間很長,這兩句可以延伸vba的等候時間,沒有這兩句,vba往往會報查詢超時。
   conn.CommandTimeout = 720
 
 
   With ds
  '依據查詢語句取得數據
     .Open strSQL, conn
     '自動控制參加一切列標題
     For col = 0 To ds.Fields.Count - 1
 
  '請留意Offset(0, col)中的參數一定要正確,該句表示標題將會寫在第一行,從A1單元格開端,假如不想寫入標題行,可將上面這句正文掉。
   Worksheets("門店各課KPI周報").Range("A1").Offset(0, col).Value = ds.Fields(col).Name
     Next
 
  '參加一切行數據,該句表示查詢後果將會寫在第一行,從A1單元格開端,但是由於標題行寫在第一行了,所以實踐這一行從標題下的一行寫入。
   Worksheets("sheet1").Range("A1").Offset(1, 0).CopyFromRecordset ds
   End With
  '封閉數據庫銜接和清空資源
   Set ds = Nothing
   conn.Close
   Set conn = Nothing

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved