我正在尝试下面这样的事情
formName = "CutomerF"
checkboxName = "Check110"
Dim rs As DAO.Recordset
Set rs = CurrentDb.OpenRecordset("SELECT * FROM CheckBoxT WHERE [Form Name] = " & formName & " AND [Checkbox Name] = " & checkboxName)
查询后,我想检查rs是否为null?如果它不为null那么它有多少个元素?我怎么能这样做?
答案 0 :(得分:0)
您可以使用BOF属性查看记录集是否有任何记录。您可以使用RecordCount查看它有多少条记录。使用DAO记录集时,首先应使用.MoveLast方法,例如
If rs.BOF Then <Do Something>
rs.MoveLast
MsgBox "There are " & rs.RecordCount & " records."
答案 1 :(得分:0)
使用rs.RecordCount属性。
IF rs.recordCount > 0 then
rs.movelast
msg "There are " & rs.recordCount & " record(s)"
end if
在DAO中打开包含记录的记录集时,RecordCount的值为1.如果没有记录或者无法确定是否有记录值为0.在ADO中,如果没有记录或者无法确定记录数RecordCount将返回-1。检查大于0的方式将确定您是否有ADO和DAO的记录。
单独使用的BOF和EOF对ADO不起作用,你可以这样做,但是你必须进行两次检查。如果在打开记录集时它们都为true,则记录集为空。当ADO记录集打开且没有记录时,BOF和EOF都设置为true。 https://msdn.microsoft.com/en-us/library/windows/desktop/ms675787(v=vs.85).aspx