Это был день, когда я ломал голову, чтобы решить эту проблему ... Я искал решения в Google, но ни одно из них не решило мою проблему ...
Код такой:
Private Sub guh()
Dim oConn As Connection
Dim Record As Recordset
Dim SqlStr As String
SqlStr = "select * from dbo.Msg_History where Client_ID='2' AND Update_Msg='4'"
Set oConn = New Connection
With oConn
.CursorLocation = adUseClient
.CommandTimeout = 0
.Open "Provider=SQLOLEDB;Server=127.0.0.1;Initial Catalog=Table_Msg;UID=Admin;PWD="
End With
Set Record = oConn.Execute(SqlStr)
If IsNull(Record) Then
MsgBox "There are no records"
Else
MsgBox "There are records"
End If
oConn.Close
Set oConn = Nothing
End Sub
Оператор sql возвращает нулевой набор записей ... когда я запускаю код ... он всегда переходит к условию "else", которое является строкой MsgBox "Есть записи"
Я пробовал изменить строку: If IsNull (Record) Then
to
Если IsNull (Record.Fields (0) .Value), то
но тогда он выдает такую ошибку: -
ошибка: либо BOF, либо EOF истинно, либо текущая запись была удалена. Запрошенная операция требует наличия текущей записи.
Я проверил http://support.microsoft.com/kb/304267 и использую eof и bof к условию ... n все равно получить ту же ошибку ..
пожалуйста, помогите мне ...