web-dev-qa-db-ja.com

recordSetが空かどうかをテストするにはどうすればよいですか?無効です?

レコードセットが空かどうかをテストするにはどうすればよいですか?

        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"

Selectステートメントに基づいて、いくつかのレコードセットを公開しています。レコードがない場合、IsNullはtrueを返しますか?

25
Shubham

「ファイルの終わり」フラグを確認します。

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

RecordCountは、使用したいものです。

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

temp_rst1.BOFおよびtemp_rst1.EOFその後、レコードセットは空です。これは、リンクされたまたはローカルの空のレコードセットに対して常に当てはまります。

8
BillyBob

簡単な方法はそれを書くことです:

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

Temp_rst1が何もない場合は...

0
NDizzle