请优化以下代码,让ACCESS的VBA中在导入文本数据至数据库时,同时判断数据库有相同流水和日期时,则不存入,同时提示“已有重复数据,不作导入”:DoCmd.TransferText acImportDelim, "接触清单导入规格", "接触清单", Forms!数据管理窗!导入路径, True, "" MsgBox "导入完成", , "完成提醒"
时间: 2023-07-19 22:28:25 浏览: 77
以下是对代码的优化:
```
Dim rs As DAO.Recordset
Set rs = CurrentDb.OpenRecordset("接触清单")
DoCmd.TransferText acImportDelim, "接触清单导入规格", "接触清单", Forms!数据管理窗!导入路径, True, ""
If Not rs.BOF And Not rs.EOF Then
rs.MoveFirst
Do Until rs.EOF
If rs!流水号 = Forms!数据管理窗!接触清单!流水号 And rs!日期 = Forms!数据管理窗!接触清单!日期 Then
MsgBox "已有重复数据,不作导入", vbCritical, "错误"
rs.Close
Set rs = Nothing
Exit Sub
End If
rs.MoveNext
Loop
End If
rs.Close
Set rs = Nothing
MsgBox "导入完成", vbInformation, "完成提醒"
```
此优化代码的思路如下:
1. 先打开接触清单表,准备进行数据比对;
2. 使用DoCmd.TransferText导入数据;
3. 循环比对接触清单表中的每条记录,判断是否有相同流水号和日期的记录,如果有,则弹出提示框并退出存入操作;
4. 如果没有相同的记录,则关闭接触清单表并继续执行存入操作。
5. 导入完成后,弹出提示框提示导入完成,提醒用户操作成功。
阅读全文