首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何修复来自Form.Recordset的“无当前记录”的Form.Recordset?

如何修复来自Form.Recordset的“无当前记录”的Form.Recordset?
EN

Stack Overflow用户
提问于 2020-07-06 08:23:58
回答 2查看 946关注 0票数 0

在我的ms-access vba项目中,我使用子表单中的me.Recordset将当前记录集传递给函数(在其中读取字段)。

这是第一次工作,但在某个点之后,我得到了错误:

代码语言:javascript
复制
3021 - no current record ("Kein aktueller Datensatz")

这很奇怪,因为我可以看到记录,所有字段都可以用!-operator访问(就像我一样!EM_KEY_PE),Me.Recordset.RecordCount是1,me.Recordset.EOF是假的。

代码语言:javascript
复制
Debug.Print Me.Recordset!EM_KEY_PE

在Me!EM_KEY_PE工作时也会引发相同的错误。

在执行如下操作后,记录集将变得无效:使父窗体再次不可见且可见,保存数据集并为父窗体设置新位置。

那怎么解决这个问题?

到目前为止我尝试过的事情:

  • 使用me.recordsetClone代替me.Recordset =>无效果
  • 不调用函数=> Debug.Print Me.Recordset!EM_KEY_PE仍然引发错误
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-07-06 09:28:58

这句话看上去像是:

代码语言:javascript
复制
Me.RecordSource = Me.RecordSource

还原记录集并修复我的问题。我在Form.Recordset https://learn.microsoft.com/en-us/office/vba/api/Access.Form.Recordset的microsoft文档中找到了这个。

但是,当这一行更改选择的位置时,我创建了这个函数来修复我的记录集("LFD“是我的主键):

代码语言:javascript
复制
Public Sub fn_repairFormRecordset(ByVal par_form As Form)
  
  Dim rs As DAO.Recordset
  Dim currentLfd As Long
  
  On Error GoTo fn_repairFormRecordset_error
  
  currentLfd = par_form("LFD")

  par_form.RecordSource = par_form.RecordSource

  Set rs = par_form.RecordsetClone
  rs.FindFirst "[LFD]=" & currentLfd
  par_form.Bookmark = rs.Bookmark
  
fn_repairFormRecordset_exit:
  Exit Sub
  
fn_repairFormRecordset_error:
  Call msg_error_norm(ModuleName, "fn_repairFormRecordset")
  GoTo fn_repairFormRecordset_exit
  
End Sub

我从这里得到的代码的一部分:https://www.devhut.net/2012/10/19/ms-access-vba-requery-a-form-while-remaining-on-the-same-record/

但我仍然不知道究竟是什么原因导致记录集失效。

票数 0
EN

Stack Overflow用户

发布于 2020-07-06 12:12:31

假设选择了记录,则可以导航到当前窗体记录。

代码语言:javascript
复制
Dim rs As DAO.Recordset
Set rs = Me.Recordset
rs.Bookmark = Me.Bookmark

如果您没有导航到特定的记录,则任何位置都可以有效。如果这是EOFBOF,则会得到无当前记录错误。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62752028

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档