Microsoft Access 掲示板

クエリ結果のレコードカウント / 5

6 コメント
views
4 フォロー
5

TM_COUNT(i) = REC![件数].Value の箇所で「インデックスが有効範囲にありません」とエラーがでます。
qry.SQL = TM_DATA()の実行結果はレコード件数27件あるのに、変数iは21件で止まっています。

Dim TM_COUNT(20)  As Integer
Dim TM_NAME(20) As String

配列の要素数が20なので、当然そうなりますね。
動的配列で宣言しておいて、レコード件数を取得してからReDimで要素数を設定しましょう。

    Dim TM_COUNT()  As Integer
    Dim TM_NAME() As String

    Set qry = db.CreateQueryDef("")
    qry.SQL = TM_DATA()
    Set REC = qry.OpenRecordset
    
    ReDim TM_COUNT(1 to REC.RecordCount)
    ReDim TM_NAME(1 to REC.RecordCount)

    '以下略

動的配列については下記を参照してください。

Office TANAKA - 変数の使い方[部屋数を変えられる動的配列]

通報 ...