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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |