システムwiki

VBAのレコードを循環するときに最後のレコードにあるかどうかを知る方法はありますか

DebateM 受付中 最終更新日:2021-05-02 02:24

表のレコードを循環させるには、次のVBAコードを使用しています.

'データベース変数を宣言する
データベースとしてDIM DB1、RS1としてRS1、SQ11 STRAS
'データベース1の変数を定義する
db1= currentdbを設定する
SQ11= "TBL_BE_APP_HOA"
SET RS1= DB1.OPENRECORDSET(SQ11、DBOPENSNAPSHOT)
'レコードセットが終了することを確認します rs1.recordcount= 0の場合、exit_subroutine
'最初のレコードに移動する
rs1.movefirst

'メインループ

はrs1.eof

までします

RS1.moveNext

ループ

exit_subroutine:

レコードセットの最後のレコードを循環するときに何かが起こります.ループ内でこのステートメントを使用してみました:

rs1.eof= true

しかしこれはうまくいきませんでした.もう1つのレコードの数を記憶する2つの追加変数を宣言することができます.その後、ループ内で次のコードを使用して:

LoopCounter= LoopCounter + 1

loopCounter= maxrecords

しかし、追加の変数を宣言して追加のコードを挿入する必要なしにこれを行うためのより単純な方法がある場合は、それについて学ぶのがございました.ありがとうございました.

返信リスト(回答:3)

1 #
TomvanS

'データベース変数を宣言します
Dimdb1 As Database、rs1 As Recordset、sq11 As String

'データベース1変数の定義
Setdb1=CurrentDb
sq11="tbl_Be_App_Hoa"
Set rs1=db1.OpenRecordset(sq11、dbOpenSnapshot)

'レコードセットが存在することを確認します
' TvS:必要ありません.rs1.RecordCount=0の場合、GoTo Exit_SubRoutine

'最初のレコードに移動
' TvS:不要.rs1.MoveFirst

'メインループ
dountil.rs1.eof

rs1.MoveNext
if rs1.eof then
rs1.moveprevious
'TODO:最後のレコードを持つもの.
end if
ループ

Exit_SubRoutine:

2 #
Scottge
RecordsetCountプロパティを検索します
3 #
YogaYao

こんにちは議論、

上記を確認しましたか?