0

我有一个非常令人沮丧的问题。我正在尝试在 currentDB 中打开一个存在的表(我使用以下代码列出了所有表名:

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

该代码可以毫无问题地打开另外两个表。(虽然我确实遇到了问题,但是当我将代码处理到一个新的子区域时,它似乎工作了??)

我认为我的问题很容易通过修复/压缩数据库来解决,因为这似乎适用于我遇到的另一个表问题,但这个问题并没有屈服于该解决方案。

这是我的代码......

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 回答