下面的例子展示了在VBA中使用ODBC连接数据库并获取数据,填充工作表内容。
使用前要先在sheet名字上点右键,选择查看代码,进入VBA编辑模式:
第一次用的时候要在VBA编辑窗口点击工具–引用,勾选:Microsoft ActiveX Data Objects x.x Library。
然后输入如下代码,即可对Excel的“名字”工作表按SQL Server中的test数据库中的user表数据进行填充。
数据库可一用SQL Server,也可以用MySQL,但是使用之前,要先运行"odbcad32"回车,配置dsn。
Sub copyDatabaseToSheet()
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim sheet As Object
Set sheet = Sheets("名字")
'配置连接串
conn.ConnectionString = "DSN=test;DB=test;UID=sa;PWD=11;"
conn.Open
' 取出数据
rs.Open "select * from [user]", conn
' 设置表头
sheet.Range("A1:E1").Value = Array("ID", "用户名", "密码", "创建时间", "修改时间")
' 拷贝数据,
sheet.Range("A2").CopyFromRecordset rs
'关闭连接
rs.Close: Set rs = Nothing
conn.Close: Set conn = Nothing
End Sub