Wie können Sie testen, ob ein Datensatz leer ist?
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"
Ich öffne ein paar Datensätze, die auf einer ausgewählten Anweisung basieren. Wenn keine Datensätze vorhanden sind, wird IsNull true zurückgeben?
Ich würde das "End of File" -Flag überprüfen:
If temp_rst1.EOF Or temp_rst2.EOF Then MsgBox "null"
RecordCount ist das, was Sie verwenden möchten.
If Not temp_rst1.RecordCount > 0 ...
Ob temp_rst1.BOF
und temp_rst1.EOF
dann ist das recordset leer. Dies gilt immer für ein leeres, verknüpftes oder lokales Recordset.
Ein einfacher Weg ist, es zu schreiben:
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
Wenn nicht, dann ist temp_rst1 nichts ...