我的源码是这样的 Private Sub DBCombo1_Change() Data1.Refresh Data1.RecordSource = "SELECT * FROM OFFICER WHERE KFS_NAME='" & DBCombo1.Text & "'" End SubPrivate Sub DBGrid1_Click() If Data1.Recordset.EOF Then Exit Sub ElseIf DBGrid1.Book = " " Then ‘这个地方的判断应该有问题,该怎么改呢 Exit Sub Else Data1.Recordset.Book = DBGrid1.Book DBCombo1.Text = Data1.Recordset.Fields("KFS_NAME").Value End If End Sub
To weidong70(维德思特) : 在DBGrid连接数据库时,我使用了绑定的方式,这样即使这条查询语句查找不出记录,数据库中也是有记录,而且只用这个语句判断的话根本解决不了问题,当点击DBGrid时,会出现“无当前记录的错误”。
if recordset.eof and recordset.bof then 查询为空
object.recordset.recordcount=0 or object.recordset.eof=true
应该把Data1.Refresh放在Data1.RecordSource = "SELECT * FROM OFFICER WHERE KFS_NAME='" & DBCombo1.Text & "'"后面
if rs.bof and rs.eof then msgbox "没有查询到记录!!!" exit sub end if
if data1.recordset.recordcount=0 then msgbox "没有记录" end if这样就行了
msgbox "没有记录"
end if
msgbox "没有记录"
end if
数据库中可能是有数据的,但是这个语句的查询结果可能是没有符合的选项
用EOF好象判断不了没有符合条件的记录的情况
这里得到的“记录集”中有没有数据与你原来数据库中有没有数据象不是一回事吧。所以,上面的各解都可以成立。
Private Sub DBCombo1_Change()
Data1.Refresh
Data1.RecordSource = "SELECT * FROM OFFICER WHERE KFS_NAME='" & DBCombo1.Text & "'"
End SubPrivate Sub DBGrid1_Click()
If Data1.Recordset.EOF Then
Exit Sub
ElseIf DBGrid1.Book = " " Then ‘这个地方的判断应该有问题,该怎么改呢
Exit Sub
Else
Data1.Recordset.Book = DBGrid1.Book
DBCombo1.Text = Data1.Recordset.Fields("KFS_NAME").Value
End If
End Sub
在DBGrid连接数据库时,我使用了绑定的方式,这样即使这条查询语句查找不出记录,数据库中也是有记录,而且只用这个语句判断的话根本解决不了问题,当点击DBGrid时,会出现“无当前记录的错误”。
or
object.recordset.eof=true
msgbox "没有查询到记录!!!"
exit sub
end if
msgbox "没有记录"
end if这样就行了