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

ADO在Excel插入数据的AddNew方法

(2014-08-28 22:36:41)
标签:

excel

vba

sql

分类: ExcelVBA

http://s5/mw690/001f8HsBgy6LBAJUHOc24&690

代码如下:

Sub ADO往Excel中写数据的AddNew方法()

    Dim Cn, Rs, arr, i As Integer

    Dim PathStr As String, SQL As String

    Set Cn = CreateObject("ADODB.Connection")       '创建数据连接对象

    Set Rs = CreateObject("ADODB.Recordset")        '创建记录集对象

    PathStr = ThisWorkbook.FullName

    Select Case Application.Version * 1    '设置连接字符串,根据版本创建连接

    Case Is <= 11

        strConn = "Provider=Microsoft.Jet.Oledb.4.0;Extended Properties=excel 8.0;Data source=" & PathStr

    Case Is >= 12

        strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & PathStr & ";Extended Properties=""Excel 12.0;HDR=YES"";"""

    End Select

    SQL = "Select * From [Sheet1$]"

    Cn.Open strConn

    With Rs

        .Open SQL, Cn, 1, 3    '

        .AddNew     '添加一个新的记录


        '方法1:列字段名称法

        .Fields("编号") = Range("A" & Rows.Count).End(xlUp) + 1    '23   '编号

        .Fields("商品名称") = "洗衣机"   ',商品名称

        .Fields("单位") = "台"   '单位

        .Fields("数量") = 100   ',数量

        .Fields("单价") = 2500   ',单价

        .Fields("金额") = 250000   '金额


        '方法2:列字段索引法(从0开始)

        '        .Fields(0) = Range("A" & Rows.Count).End(xlUp) + 1 '23   '编号

        '        .Fields(1) = "洗衣机"   ',商品名称

        '        .Fields(2) = "台"   '单位

        '        .Fields(3) = 100   ',数量

        '        .Fields(4) = 2500   ',单价

        '        .Fields(5) = 250000   '金额

        .Update     '保存数据

        .Close          '关闭记录集

    End With

    Cn.Close            '关闭数据连接

    Set Rs = Nothing: Set Cn = Nothing

End Sub

示例文件下载:

http://pan.baidu.com/s/1qWmEQpm

ADO在Excel插入数据的AddNew方法.xls


新浪博客:http://weibo.com/u/1139851561

百度空间:http://hi.baidu.com/335081548

往期精彩在:

腾讯(QQ)微博:http://t.qq.com/huangshifang?preview

更多分享请关注微信号

微信号:Excel335081548 或:

雪山飞狐Excel

http://s10/mw690/001f8HsBgy6LBAEF3ct89&690

0

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

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

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

新浪公司 版权所有