加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

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   '与数据库建立连接,如果成功,返回连接对象cn
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

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有