次のコードでは、vcountに値を渡したときにcompile error Type mismatch
が返されます。VBAにアクセス:CurrentDb.OpenRecordsetで型が一致しません
I、使用コードは:
Dim SQL As String
Dim vcount As Integer
SQL = " SELECT count(*) FROM [Data Processing List];"
vcount = CurrentDb.OpenRecordset(SQL)
次のコードでは、vcountに値を渡したときにcompile error Type mismatch
が返されます。VBAにアクセス:CurrentDb.OpenRecordsetで型が一致しません
I、使用コードは:
Dim SQL As String
Dim vcount As Integer
SQL = " SELECT count(*) FROM [Data Processing List];"
vcount = CurrentDb.OpenRecordset(SQL)
いくつかの代替的なアプローチ。特定のテーブル内の行数をカウントする
使用テーブル定義:
Dim vcount As Integer
vcount = CurrentDb.TableDefs("[Data Processing List]").RecordCount
使用Dcount関数:
Dim vcount As Integer
vcount = DCount("*", "[Data Processing List]")
より多くの方法があります。対中小のテーブルのパフォーマンスの結果を含むいくつかの方法を説明し、この非常に興味深い記事を見てください :
レコードではなく、値を返すCurrentDb.OpenRecordset
。
レコードセットのフィールドの値にアクセスしたい場合は、フィールドのコレクションに目的のフィールドの.Value
プロパティを使用して行うことができます。
vcount = CurrentDb.OpenRecordset(SQL).Fields(0).Value
_DCount_はデッド簡単な方法です。 – Gustav