Это был день, когда я ломал голову, чтобы решить эту проблему ... Я нашел решения, но ничего не решило мою проблему ...
Код такой:
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 "Есть записи"
Я пытался изменить строку: если IsNull (запись), то
до
Если IsNull (Record.Fields (0). Значение), то
но затем выдает ошибку вроде этого: -
ошибка: либо BOF, либо EOF имеет значение true, либо текущая запись была удалена. Запрошенная операция требует текущей записи.
Я проверил http://support.microsoft.com/kb/304267 и использую eof и bof для условия ... n все равно получаю ту же ошибку ..
пожалуйста, кто-нибудь, помогите мне ...