通过Excel与MSSQL无缝对接,实现高效的数据查询,为ERP或各类报表快速生成提供了理想途径。同时,定制化的打印格式设置简便易行,仅需输入筛选条件并点击操作即可轻松获取所需数据,极大提升了工作效率。
1、 打开EXCEL选择开发工具,点设计模式,再插入表单控件,选择按钮。如图再设置好两个单元格作为输入条件的内容。
2、 通过快捷键ALT+F11,调出Microsoft Visual Basic for Applications,输入连接数据库代码和执行代码,参考如下:Private Sub CommandButton1_Click()? ? ? ? ? Dim conn1 As New ADODB.Connection, ConnStr1 As String, rds1 As New ADODB.Recordset, 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 = "Provider=SQLOLEDB.1;Password=密码;Persist Security Info=True;User ID=用户名;Initial Catalog=数据库;Data Source=数据库来源地址"? ? ? ? ? sqlstr1 = "select * from 表1 where A列="" & blstr1 & "%" and B列="" & blstr2 & "%""? ? ? ? ? conn1.Open ConnStr1? ? ? ? ? rds1.CursorLocation = adUseClient? ? ? ? ? rds1.Open sqlstr1, conn1, adOpenForwardOnly, adLockReadOnly? ? ? ? ? ActiveSheet.Range("a3").CopyFromRecordset rds1? ? ? ? ? ActiveSheet.Range("A3", "R" & (2 + rds1.RecordCount)).Borders.Lin ? ? ? ? ? eStyle = xlContinuous? ? ? ? ? rds1.Close? ? ? ? ? conn1.CloseEnd Sub

