web-dev-qa-db-fra.com

Comment puis-je tester si un jeu d'enregistrements est vide? isNull?

Comment pouvez-vous 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 jeux d'enregistrements basés sur une déclaration sélective. S'il n'y a aucun enregistrement, IsNull retournera-t-il vrai?

25
Shubham

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

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

RecordCount est ce que vous souhaitez utiliser.

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

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

8
BillyBob

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
user3959733

Si non temp_rst1 n'est rien alors ...

0
NDizzle