从SQL数据的表单加载访问“无当前记录”错误3021

时间:2013-12-10 19:41:15

标签: sql sql-server vba ms-access ms-access-2010

我有一个拆分表单,当基础查询中只有1条记录时,它会表现出以下行为:

  • 使用1条记录中的所有数据填充
  • 在尝试操作Me.Recordset时给出无当前记录错误(即使显示数据)

如果我要么继续发生此错误:

  • 刷新表单(使用F5或mForm.Refresh)
  • 使用mForm.Requery重新查询

但是,如果我有底层查询返回的2条记录,则在splitform数据表中的记录之间切换会导致此问题消失。

我无法阻止我发生这种情况:

  • Access 2010
  • ODBC链接连接
  • SQL server 2008

有没有办法可以在form_load事件中触发某些事情来执行切换记录导致的事情?

1 个答案:

答案 0 :(得分:0)

尝试:

If(Not(RS.EOF) and Not(RS.BOF)) then
     Do your stuff here.
End if

或者如果您不喜欢Not logic,那么您可以去

If RS.EOF or RS.BOF then
(*leave this line blank)*
Else:
     Do your stuff here.
End if

如果您尝试使用1条记录移动,则记录集将以EOF(文件结束)或BOF(文件的Beginging)结束,这意味着没有要显示的记录,它将引发错误。

这不应该影响正在显示的1条记录。