|
这段写数据的代码在自己电脑上可以使用,发给别人就不能用,一直提示工作表的数据数据库中已经存在,但是内容我确实是变 了。
Sub 新增记录()
Dim cnn As Object, rs As Object, SQL$
Set cnn = CreateObject("adodb.connection")
Set rs = CreateObject("adodb.recordset")
cnn.Open "provider=microsoft.ace.oledb.12.0;data source=" & "\\Dbly1-d0543\共享分流文件\资料收集服务器\renshi.accdb" '连接数据库
' 求工作表有数据库中没有的记录
SQL = "select a.姓名,a.身份证号,a.性别,a.部门 from [Excel 12.0;Database=" & ThisWorkbook.FullName & "].[Sheet1$" _
& [a2].CurrentRegion.Offset(, 1).Resize(, 4).Address(0, 0) & "] a left join renshi b on a.身份证号=b.身份证号 where b.身份证号 is null"
Set rs = New ADODB.Recordset
rs.Open SQL, cnn, adOpenKeyset, adLockOptimistic
If rs.RecordCount > 0 Then '有记录
SQL = "insert into renshi select * from (" & SQL & ")" '添加记录
cnn.Execute SQL '执行
MsgBox rs.RecordCount & "条记录已添加到数据库数据库。", vbInformation, "提示"
Else
MsgBox "工作表的数据数据库中已经存在。", vbInformation, "添加数据失败"
End If
rs.Close
cnn.Close
Set rs = Nothing
Set cnn = Nothing
End Sub
|
|