如何测试recordSet是否为空?一片空白?

时间:2011-07-22 16:29:47

标签: ms-access access-vba

如何测试记录集是否为空?

        Dim temp_rst1 As Recordset
        Dim temp_rst2 As Recordset

        Set temp_rst1 = db.OpenRecordset("SELECT * FROM ORDER_DATA WHERE SKUS_ORDERED = '" & curSKU1 & "' AND [ORDER] = " & curOrder)
        Set temp_rst2 = db.OpenRecordset("SELECT * FROM ORDER_DATA WHERE SKUS_ORDERED = '" & curSKU2 & "' AND [ORDER] = " & curOrder)

        If IsNull(temp_rst1) Or IsNull(temp_rst2) Then MsgBox "null"

我正在根据select语句打开几个记录集。如果没有记录,IsNull会返回true吗?

5 个答案:

答案 0 :(得分:40)

我会检查“文件结束”标志:

If temp_rst1.EOF Or temp_rst2.EOF Then MsgBox "null"

答案 1 :(得分:10)

RecordCount就是您想要使用的。

If Not temp_rst1.RecordCount > 0 ...

答案 2 :(得分:8)

如果temp_rst1.BOFtemp_rst1.EOF,则记录集为空。对于空的记录集,链接的或本地的记录集总是如此。

答案 3 :(得分:3)

一种简单的方法是写它:

Dim rs As Object
Set rs = Me.Recordset.Clone
If Me.Recordset.RecordCount = 0 then 'checks for number of records
   msgbox "There is no records" 
End if

答案 4 :(得分:0)

如果Not temp_rst1则没有那么......