ms-access - 了解 Me.RecordsetClone.FindFirst 命令
问题描述
我在 MS 访问中有此代码,它是这样的:
Private Sub List131_Click()
Me.RecordsetClone.FindFirst "[iUserID] = " & Me![List131]
Me.Bookmark = Me.RecordsetClone.Bookmark
我想我有点明白了。数据库正在制作自己的副本,并试图找到可能与之匹配的 iUserID?
但是,为什么列表最后会附加?
该代码还使用Me.Username在其他情况下如何描述?它是用户名的复制版本吗?
解决方案
将 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 中的主键或其他数据。在这个表达式中,“live”表单数据的书签被设置为克隆数据返回的书签,即
FindFirst
方法找到的记录的位置。
推荐阅读
- python - 我可以使用同一个用户数据库同时提供 python 2.7 和 3.6 django 网站吗?
- c# - 如何解决“System.Double 维度过多”的问题
- php - 如何使用 PHP 的 openssl_decrypt 函数分块解密大文件?
- javascript - 以下对象声明有什么区别?
- powershell - Powershell断言管道返回不是数组
- ios - 地理围栏事件不适用于模拟器 (Xamarin.ios)
- sql-server - 查询以查找 10 岁以上的儿童
- animation - 更改(动画)gif中特定颜色的所有像素?
- python-3.x - 如何在文件中查找模式并使用python在文件中注释该模式
- javascript - 如何在 Babylon.js(Y 轴)中反转 backUVs 图像?