CurrentDb.RecordsAffected возвращает 0. Почему?
Если я использую RecordsAffected с CurrentDb.Execute, он всегда возвращает 0. Если я сначала создам экземпляр объекта базы данных, он будет работать правильно. Почему?
такой:
Dim Db As Database
Set Db = CurrentDb
Db.Execute "DELETE * FROM [Samples] WHERE Sample=5"
If Db.RecordsAffected = 0 Then
MsgBox "Error"
End If
вместо:
CurrentDb.Execute "DELETE * FROM [Samples] WHERE Sample=5"
If CurrentDb.RecordsAffected = 0 Then
MsgBox "Error"
End If
Я использую Access 2007 и библиотеку объектов ядра СУБД Microsoft Office 12.0 Access.
2 ответов
использовать With
. Измените код на:
Dim Db As Database
Dim recordAffect = Integer
Set Db = CurrentDb
With Db
.Execute "DELETE * FROM [Samples] WHERE Sample=5"
recordAffect = .RecordsAffected
'If Db.RecordsAffected = 0 Then
If (recordAffect = 0) Then
MsgBox "Error"
End If
End With