怎么用vba连接mssql

2025-03-10 11:47:36
推荐回答(1个)
回答1:

Set cn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")
Dim strCn As String, strSQL As String

strCn = "PROVIDER=SQLOLEDB;DATA SOURCE=127.0.0.1;UID=sa;password=123457;DATABASE=abc"
cn.Open (strCn)
If cn.State <> 1 Then '如果数据库连接未打开
rs.Close
cn.Close
MsgBox ("数据库连接错误")
else
MsgBox ("数据库连接成功")
End If

'运行SQL语句
'strSQL = "具体的SQL语句",下举例,提取abc表中的aaa,写入sheet1的A列
strSQL = "select aaa,bbb,ccc from abc where bbb>100"
rs.Open strSQL, cn, 1, 1
If Not (rs.BOF And rs.EOF) Then '有记录存在
For i = 1 To rs.RecordCount
Sheets(1).Range("A" & i) = rs.Fields(0).Value
'Fields(0)对应aaa,Fields(1)对应bbb,类推
rs.MoveNext
Next
Else
MsgBox ("数据提取失败")
End If
rs.Close
cn.Close