Comment tester si un recordSet est vide? isNull?

Comment tester si un jeu d'enregistrements est vide?

        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"

J'ouvre quelques ensembles d'enregistrements basés sur une instruction select. S'il n'y a pas d'enregistrements, IsNull retournera-t-il true?

23
demandé sur TylerH 2011-07-22 20:29:46

5 réponses

Je vérifierais le drapeau "fin de fichier":

If temp_rst1.EOF Or temp_rst2.EOF Then MsgBox "null"
35
répondu mwolfe02 2011-07-22 16:32:27

RecordCount est ce que vous voulez utiliser.

If Not temp_rst1.RecordCount > 0 ...
9
répondu Tom Studee 2011-07-22 16:31:30

Si temp_rst1.BOF et temp_rst1.EOF, puis le jeu d'enregistrements est vide. Ce sera toujours vrai pour un jeu d'enregistrements vide, lié ou local.

7
répondu BillyBob 2013-07-04 15:43:50

Un moyen simple est de l'écrire:

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
répondu user3959733 2015-06-16 15:24:20

Si ce n'est pas temp_rst1 est rien alors ...

0
répondu NDizzle 2011-07-27 13:46:01