尝试在Access 2010中打开表时出现“变量未定义”错误

时间:2012-05-29 18:37:54

标签: ms-access ms-access-2010

我遇到了一个非常令人沮丧的问题。我试图在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上得到“Variable not defined”错误。

感谢任何可以提供帮助的人!

1 个答案:

答案 0 :(得分:0)

我没有时间对此进行测试,但我认为您在" debug.Print StkPrdSum中已经引用了StkPrdSum![CurYear]"是错的。

当您首先声明为openrecordset时,您的debug.print应该在它上面。

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

我希望这对你有帮助,对不起我的英语。