VBA向SQLSERVER插入数据
(2009-10-31 09:05:50)
标签:
杂谈 |
分类: Office系列/VBA |
前提条件:VBA窗口:工具—引用—MIcrosoft ActiveX Data Objects 2.8
Library与MIcrosoft ActiveX Data Objects Recordset 2.8
Library选中
Sub 导入数据()
Dim i As Integer, j As Integer, sht As Worksheet 'i,j为整数变量;sht
为excel工作表对象变量,指向某一工作表
Dim cn As New ADODB.Connection '定义数据链接对象 ,保存连接数据库信息;请先添加ADO引用
Dim rs As New ADODB.Recordset
Dim strCn As String, strSQL As String '字符串变量
strCn =
"Provider=sqloledb;Server=127.0.0.1;Database=DBname;Uid=sa;Pwd=password;"
rs.CursorLocation = 3
strSQL = "select *
from table" '表名
cn.Open strCn
rs.Open strSQL, cn, 1, 3 '执行strSQL所含的SQL命令,结果保存在rs记录集对象中
'i = 1
Set sht = ThisWorkbook.Worksheets("插入")
'把sht指向当前工作簿的sheet1工作表
For i = 2 To Sheets("插入").[a65535].End(xlUp).Row 'i为"行数"的意思
rs.AddNew
For j = 0 To
rs.Fields.Count - 1 'j为'列数'
rs(j) = Sheets("插入").Cells(i, j + 1)
Next j
rs.Update
Next i
rs.MoveLast
rs.Close
MsgBox "导入完毕!"
End Sub

加载中…