VB执行()问题

时间:2010-08-12 04:13:57

标签: excel vba

我正在使用以下代码运行VB

conider strSQL是一个更新字符串。

conDB.Execute (strSQL) ;
Sheet1.Cells(intStart, 5) = "Success"

如果没有更新行,则下面的行仍会运行,并且我会在单元格中打印成功消息。我该如何避免这种情况?

2 个答案:

答案 0 :(得分:1)

dim recordsAffected as long

conDB.Execute strSQL, recordsAffected 
Sheet1.Cells(intStart, 5) = IIF(recordsAffected  > 0, "Success", "Failure")

答案 1 :(得分:0)

问题是无论您的更新是否实际更新,都会显示您的成功消息。

我相信你可以调用conDB.RecordsAffected函数来返回已更新的记录数。检查此功能的返回值并显示相应的消息。

尝试这样的事情:

conDB.Execute (strSQL)
If (conDB.RecordsAffected > 0) Then
    Sheet1.Cells(intStart, 5) = "Success"
Else
    Sheet1.Cells(intStart, 5) = "Failed"
End If