Re: [VBA ] 查詢SQL資料

看板Visual_Basic作者 (我是保羅小小)時間6年前 (2018/04/24 18:27), 編輯推噓1(100)
留言1則, 1人參與, 6年前最新討論串2/2 (看更多)
※ 引述《Cochran ()》之銘言: : 各位好,小弟新手... : 小弟寫好SQL程式,也可以正確無誤地跑出查詢結果, : 因為要供其他同事做即時的查詢,但同事又不會用SQL... : 故想請問... : 如何利用 VBA 跑已經寫好的SQL程式,並將查詢結果顯示在EXCEL上? 請先去window視窗搜尋「ODBC資料來源」,新增SQL Server的資訊, 在回到Excel的VBA視窗→工具→設定引用項目, 將 Microsoft ActiveX Data Objects 2.7 Library引用進來 然後複製下列語法,依據個人需求更改SQL Server IP, ID, PWD, DB NAME 以及SQL語法,設定導出的活頁簿名稱以及columns的名稱,儲存為.xlsm的檔案 以後你同事需要時,只要呼叫這個sub就能自動從SQL Server下載資料了~~ Sub AutoCaculate() Dim Data As Range Dim LR, myYear, myMon, myDay As Integer Dim myPath, YS, MS, DS As String Dim Tdate As Date Dim i As Integer, j As Integer, sht As Worksheet 'i,j為整數變數;sht 為excel工 作表物件變數,指向某一工作表 Dim rs As New ADODB.Recordset '定義記錄物件 Dim strCn As String, strSQL As String '字符串變量 Dim sStartDate As String, sEndDate As String '字符串變量 Dim MOQ As Variant Application.ScreenUpdating = False Application.DisplayAlerts = False Set cn = New ADODB.Connection '定義資料連結物件 ,保存連接資料庫資訊;請先 引用ADO strCn = ("driver={SQL Server};server=IP;uid=ID;pwd=PWD;database=DB Name;") '定義資料庫連結字串 strSQL = "Select From" '此處放入SQL語言 cn.Open strCn '與資料庫建立連接,如果成功,返回連線物件cn rs.Open strSQL, cn '執行strSQL所含的SQL命令,結果保存在rs記錄集物件中 i = 2 Sheets.Add after:=Sheets(Sheets.Count) ActiveSheet.Name = "SHEET NAME" 'SQL資料輸出位置 Set sht = ThisWorkbook.Sheets("SHEET NAME") '把sht指向當前工作簿的sheet1 工作表 sht.Cells(1, 1) = "TITTLE" '定義表頭名稱,可以依照需求複製此行 Do While Not rs.EOF sht.Cells(i, 1) = rs("SQL DATA") '此處放入SQL導出資料行,可以依照需求複製此 行 rs.MoveNext i = i + 1 Loop rs.Close Application.ScreenUpdating = True Application.DisplayAlerts = True End Sub -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.135.50.86 ※ 文章網址: https://www.ptt.cc/bbs/Visual_Basic/M.1524565662.A.92A.html

04/24 19:09, 6年前 , 1F
謝謝p大
04/24 19:09, 1F
文章代碼(AID): #1QtmQUag (Visual_Basic)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
文章代碼(AID): #1QtmQUag (Visual_Basic)