了解Me.RecordsetClone.FindFirst命令

问题描述 投票:1回答:1

我在MS访问中有这个代码,它是这样的:

Private Sub List131_Click()
    Me.RecordsetClone.FindFirst "[iUserID] = " & Me![List131]
    Me.Bookmark = Me.RecordsetClone.Bookmark

我想我有点理解。数据库正在制作自己的副本,它正试图找到可能与之匹配的iUserID?

但是为什么列表会在末尾附加?

代码在其他情况下也使用Me.Username如何描述?它是用户名的复制版本吗?

ms-access access-vba
1个回答
2
投票

将Sub的操作分解为其组成部分,我们有以下内容:

  • Me是一个关键字,指的是当前代码正在执行的类的实例。例如,在MS Access中,如果在表单模块中使用Me,它将返回活动表单的实例;如果您在报表模块中使用它,它将返回活动报表的实例。
  • Me.RecordsetClone返回活动表单的Recordset的副本,以便您可以对数据副本执行操作,而不会影响表单显示的实时数据。
  • FindFirst "[iUserID] = " & Me![List131]作为方法名称暗示,在Recordset中找到符合给定条件的第一条记录。 在这种情况下,通过将文字字符串"[iUserID] = "与表单控件List131的值连接来构造标准。这可能会产生一个字符串,如: "[iUserID] = 12345" 这就是说:“找到iUserID字段等于12345的表单数据副本中的第一条记录”
  • Me.Bookmark = Me.RecordsetClone.Bookmark书签是一种唯一标识Recordset中记录的方法,因此您可以在不知道主键或Recordset保存的其他数据的情况下可靠地导航到此类记录。 在该表达式中,“实时”表单数据的书签被设置为克隆数据返回的书签,即FindFirst方法找到的记录的位置。
© www.soinside.com 2019 - 2024. All rights reserved.