|
原来用的是前期绑定,下面用后期绑定:- Sub excel追加写入access()
- Dim cnn As Object, rs As Object
- Dim myPath As String
- Dim myTable As String
- Dim SQL As String
- myPath = ThisWorkbook.Path & "\数据库.accdb"
- myTable = "提案具体事项"
- On Error GoTo errmsg
- Set cnn = CreateObject("ADODB.Connection")
- Set rs = CreateObject("ADODB.Recordset")
- cnn.Open "Provider=Microsoft.Ace.OLEDB.12.0;Data Source=" & myPath '连接数据库
-
- '生成数据库不存在记录的SQL语句
- SQL = "select a.* from [Excel 12.0;Database=" & ActiveWorkbook.FullName & "].[Sheet1$" & Range("a1").CurrentRegion.Address(0, 0) _
- & "] a left join " & myTable & " b on a.现状问题描述=b.现状问题描述 where b.现状问题描述 is null"
- Set rs = New ADODB.Recordset
- rs.Open SQL, cnn, 1, 3
-
- '插入数据库不存在记录
- If rs.RecordCount > 0 Then '如果工作表中含有数据库不存在记录
- SQL = "insert into " & myTable & " " & SQL '插入新记录SQL语句
- cnn.Execute SQL
- MsgBox rs.RecordCount & "行数据已经添加到数据库!", vbInformation, "添加数据"
- Else
- MsgBox "工作表的数据数据库中已经存在。", vbInformation, "添加数据失败"
- End If
-
- '关闭连接释放内存
- rs.Close
- cnn.Close
- Set rs = Nothing
- Set cnn = Nothing
- Exit Sub
- errmsg:
- MsgBox Err.Description, , "错误报告"
- End Sub
复制代码 |
评分
-
1
查看全部评分
-
|