How can you test if a record set is empty?
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"
I'm opening up a couple of record sets based on a select statement. If there are no records, will IsNull return true?
Check the recordset's RecordCount property. If it is zero, you know there aren't any records. Check the recordset's RecordCount property. If it is zero, you know there aren't any records.
You can set Recordset to Nothing without needing to call Close, according to official documentation: An alternative to the Close method is to set the value of an object variable to Nothing (Set dbsTemp = Nothing).
I would check the "End of File" flag:
If temp_rst1.EOF Or temp_rst2.EOF Then MsgBox "null"
RecordCount is what you want to use.
If Not temp_rst1.RecordCount > 0 ...
If temp_rst1.BOF
and temp_rst1.EOF
then the recordset is empty. This will always be true for an empty recordset, linked or local.
A simple way is to write it:
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
If Not temp_rst1 Is Nothing Then ...
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With