麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Visual Basic > 正文

VBA中連接SQLSERVER數據庫例子

2020-01-31 16:31:26
字體:
來源:轉載
供稿:網友

我們在使用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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 久久精品99北条麻妃 | 精品国产一区二区三区在线观看 | 欧美视频在线观看一区 | 久久精品视频2 | 国产资源在线观看 | 日本韩国欧美一级片 | 国产精品欧美久久久久一区二区 | 最新中文字幕在线视频 | 草久影视| 久久国产一级片 | 欧美成人区 | 精国产品一区二区三区 | 久久国产中文 | 在线天堂中文在线资源网 | 日本看片一区二区三区高清 | 国产成人在线一区 | 精国产品一区二区三区 | 久久99国产精品久久99 | 天天舔天天插 | 九九热在线视频免费观看 | 在线成人免费av | 男女羞羞视频在线免费观看 | 毛片网站网址 | 人成免费a级毛片 | 特级a欧美做爰片毛片 | 国产一级毛片高清视频 | 久久免费视频一区二区三区 | 99精品视频在线导航 | 免费中文视频 | 激情宗合 | 羞羞的视频免费观看 | 99国产精品国产免费观看 | 久久成人免费观看 | 国产精品久久久久久久久久iiiii | chengrenyingshi| 国产成人精品免费视频大全办公室 | 欧美第1页 | 中文字幕免费看 | 久久精品久久精品久久精品 | 免费三级大片 | 91色综合综合热五月激情 |