webentwicklung-frage-antwort-db.com.de

Wie teste ich, ob ein RecordSet leer ist? ist Null?

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?

25
Shubham

Ich würde das "End of File" -Flag überprüfen:

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

RecordCount ist das, was Sie verwenden möchten.

If Not temp_rst1.RecordCount > 0 ...
10
Tom Studee

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.

8
BillyBob

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
3
user3959733

Wenn nicht, dann ist temp_rst1 nichts ...

0
NDizzle