利用Excel連接MSSQL數(shù)據(jù)庫快速生成報表
---連接MSSQL數(shù)據(jù)庫生成查詢結(jié)果在實際工作中,使用Excel連接MSSQL數(shù)據(jù)庫并生成查詢結(jié)果是一種非常有效的方法,特別適用于快速制作ERP報表或其他軟件報表。通過設(shè)置好打印格式,只需輸入條件和
---
連接MSSQL數(shù)據(jù)庫生成查詢結(jié)果
在實際工作中,使用Excel連接MSSQL數(shù)據(jù)庫并生成查詢結(jié)果是一種非常有效的方法,特別適用于快速制作ERP報表或其他軟件報表。通過設(shè)置好打印格式,只需輸入條件和點擊按鈕,即可輕松獲取數(shù)據(jù),操作十分方便。
設(shè)置Excel表單控件和按鈕
首先,在Excel中選擇開發(fā)工具,進入設(shè)計模式,再插入表單控件并選擇按鈕。接著,設(shè)置兩個單元格作為輸入條件的內(nèi)容。通過快捷鍵ALT F11調(diào)出Microsoft Visual Basic for Applications,輸入連接數(shù)據(jù)庫代碼和執(zhí)行代碼,示例如下:
```vba
Private Sub CommandButton1_Click()
Dim conn1 As New , ConnStr1 As String, rds1 As New , blstr1 As String, blstr2 As String
Dim sqlstr1 As String
Dim sqlstr2 As String
blstr1 UCase(ActiveSheet.Range("B1"))
blstr2 UCase(ActiveSheet.Range("D1"))
ActiveSheet.Range("A3:IV65536").ClearContents
ConnStr1 "ProviderSQLOLEDB.1;Password密碼;Persist Security InfoTrue;User ID用戶名;Initial Catalog數(shù)據(jù)庫;Data Source數(shù)據(jù)庫來源地址"
sqlstr1 "select * from 表1 where A列'39;'" blstr1 "'39;' and B列'39;'" blstr2 "'39;'"
ConnStr1
adUseClient
sqlstr1, conn1, adOpenForwardOnly, adLockReadOnly
ActiveSheet.Range("A3").CopyFromRecordset rds1
ActiveSheet.Range("A3", "R" (2 )) xlContinuous
End Sub
```
自定義刷新表格樣式
通過更改參數(shù)或單元格編號,可以使刷新后的表格具有不同的框線效果。例如,`ActiveSheet.Range("A3").CopyFromRecordset rds1`表示從A3格開始輸出數(shù)據(jù),而`ActiveSheet.Range("A3", "R" (2 )) xlContinuous`表示在A3到R列范圍內(nèi)有數(shù)據(jù)的地方增加框線效果。
通過以上步驟,利用Excel連接MSSQL數(shù)據(jù)庫并生成報表將變得更加靈活和高效,讓報表制作變得更加便捷。