如果记录不存在则添加

时间:2014-03-09 06:10:24

标签: sql database vba

我正在尝试创建一个程序来导入电子表格并将其附加/更新到我的MainDB, 我已经完成了更新过程,如果在主数据库中找到了字段(JobName),那么我将更新记录。 下一步是,检查记录是否存在,如果没有,那么我需要一个代码来添加,请帮忙!

ConnectdbMain 'Sub Where I connect to my Maindb
Connectdbtemp 'Sub Where I connect to Tempdb which I imported to an excelfile
With rs
While Not .EOF
rst.MoveFirst
    While Not rst.EOF

    If .Fields(Combo.Value) = rst.Fields(Combo2.Value) Then   'the user is allowed which field is to compare and append I use combo box to filter choices.
    .Edit
    .Fields(Combo3.Value) = rst.Fields(Combo4.Value)
    .Update
    End If

    rst.MoveNext
     Wend
.MoveNext
Wend
End If

CloseDbMain
Set rst = Nothing
Dbs.Execute "DROP TABLE TempTable"   'I drop it like a trash since its already appended :)
ClosedbTemp
End With

1 个答案:

答案 0 :(得分:0)

嗯......我不了解你。但如果它是一个excel电子表格,我会使用OLE DB来读取电子表格数据源,并使用SQL查询首先在电子表格中选择所有DISTINCT JobName。

我还会在循环中使用每个电子表格的不同名称来在主数据库中使用VBA执行select语句....

从JobName = the_job_name_in_excel

的表中选择count(JobName)

然后使用If Then检测返回的行count是否为0然后执行更新语句。

当然还有很多,所以如果你想使用我的方法,你需要阅读如何创建与主数据库和电子表格的数据库连接。创建这些连接的方法很容易在那里找到。