0

私は非常にイライラする問題を抱えています。存在する currentDB でテーブルを開こうとしています (次のコードを使用して、すべてのテーブル名を一覧表示しました。

Dim tbl As Object
For Each tbl In CurrentDb.TableDefs
    Debug.Print tbl.Name
Next tbl

このコードは、他の 2 つのテーブルを問題なく開きます。(問題はありましたが、コードを新しいサブエリアに対応させたところ、うまくいったようでした??)

私の問題は、修復/コンパクトDBを実行することで簡単に解決できると思いました.

これが私のコードです.....

Dim db As DAO.Database
Dim rst As DAO.Recordset

Set db = CurrentDb

Set rst = db.OpenRecordset(“StkPrdSum”)

Do While Not rst.EOF
   debug.Print StkPrdSum![CurYear]
   rst.MoveNext
Loop

コンパイルしようとするとエラーが発生します。引用符で囲まれたテーブル名 StkPrdSum で「変数が定義されていません」というエラーが表示されます。

助けてくれる人に感謝します!

4

1 に答える 1

0

これをテストする時間がありませんでしたが、「debug.Print StkPrdSum![CurYear]」でのStkPrdSumへの参照が間違っていると思います。

rstをopenrecordsetとして宣言したので、debug.printがその上にあるはずです。

    Do While Not rst.EOF
       debug.Print rst![CurYear]
       rst.MoveNext
    Loop

これがお役に立てば幸いです。英語をお詫びします。

于 2012-05-29T19:03:07.133 に答える