office交流網--QQ交流群號

Access培訓群:792054000         Excel免費交流群群:686050929          Outlook交流群:221378704    

Word交流群:218156588             PPT交流群:324131555

利用ADO在Excel中添加數據

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

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


添加成功

    分享