最近学习VBA的知识,有点稀里糊涂的感觉。今天下午没什么业务又开始研究了,连上数据库了,以防以后忘了,记录以下。呵呵~~
步骤如下:
① 代码区里的工具⇒参照设定里添加参照。
Microsoft ActiveX Data Objects 2.5 Library
②新建一个模块在模块中添加如下代码。
Option Explicit
Public cn As New ADODB.Connection
Public Sub cnOpen()
Dim strConn As String
strConn = ""
strConn = strConn & "Provider=SQLOLEDB.1;Persist Security Info=false; User ID=sa;Password=;Initial Catalog=VBAstudy;Data Source=(local);"
If cn Is Nothing Then Set cn = New ADODB.Connection
If cn.State <> adStateClosed Then cn.Close
If cn.State = adStateClosed Then cn.Open strConn
End Sub
Public Sub cnClose()
cn.Close
End Sub
③ 在sheet里添加要执行的代码。如下很简单的代码。
Public ds As New ADODB.Recordset
Public Sub getdata()
Dim strSQL As String
Call cnOpen --调用模块中的数据库连接子程序
strSQL = ""
strSQL = "select * from theme"
Set ds = cn.Execute(strSQL)
Dim i As Integer
For i = 1 To 1000
Sheet1.Range(Cells(i, 1), Cells(2000, 1)).Value = ds.Fields(0).Value
Sheet1.Range(Cells(i, 2), Cells(2000, 2)).Value = ds.Fields(1).Value
ds.MoveNext
Next
Call cnClose --调用模块中的数据库关闭子程序
End Sub
④点击F5运行即可。(F8单步执行)