利用ADO在Excel中添加數據

2019-12-16 08:00:00
tmtony8
原創
65

Excel是電子表格,我們可以直接在里面插入數據。

直接能修改,有時容易對表格數據直接修改而導致錯誤

所以這里我們利用vba代碼ADO來添加數據。

Sub ADOaddnew()

    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 [Sheet10$]"

    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


添加成功

    分享
    北京十一选五基本走势