加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

VB 把excel中内容添加到access中

发布时间:2020-12-17 08:15:10 所属栏目:百科 来源:网络整理
导读:除了access可以从excel直接导入(有点不符合本人观点)外, 可以用VB来操作。 两个注意点: 1、先查询记录在access是否存在,存在了就不用添加。 2、打开时,用键集游标adOpenKeyset,不然那个查询的记录集的个数是-1,为判断是否存在记录造成困惑。 Private


除了access可以从excel直接导入(有点不符合本人观点)外,

可以用VB来操作。

两个注意点:

1、先查询记录在access是否存在,存在了就不用添加。

2、打开时,用键集游标adOpenKeyset,不然那个查询的记录集的个数是-1,为判断是否存在记录造成困惑。



Private Sub Command1_Click()
    Dim cn    As New ADODB.Connection
    Dim rs    As New ADODB.Recordset
    Dim i     As Integer,j As Integer
    Dim xl    As New Excel.Application
    Dim book  As Excel.Workbook
    Dim sheet As Excel.Worksheet

    Set book = xl.Workbooks.Open("D:etoa2.xls") '打开excel,Set sheet = book.Worksheets(1)
    
    cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:eToaStation.mdb;Persist Security Info=False"

    For i = 1 To 282
        '查询
        rs.Open "select * from station where StationNumber='" & Trim(sheet.Cells(i,1)) & "'",cn,adOpenKeyset,adLockOptimistic
        '是否有记录,有记录就不添加
        If rs.RecordCount = 0 Then '没有记录,添加
            rs.AddNew
            rs.Fields(1) = sheet.Cells(i,1) '注意fields索引是以0开始,excel是以1开始
            rs.Fields(2) = sheet.Cells(i,2)
            rs.Fields(3) = sheet.Cells(i,3)
            rs.Fields(4) = sheet.Cells(i,4)
            rs.Fields(5) = sheet.Cells(i,5)
            rs.Fields(6) = sheet.Cells(i,6)
            rs.Fields(7) = sheet.Cells(i,7)
            rs.Update
        Else
            List1.AddItem sheet.Cells(i,1) '这是没有被添加的记录
        End If
        rs.Close
    Next i
    MsgBox "导入完成"
    book.Close '退出
    xl.Quit
    cn.Close
End Sub

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读