Forms 用于在主窗体上搜索记录的子窗体

Forms 用于在主窗体上搜索记录的子窗体,forms,vba,ms-access,record,subform,Forms,Vba,Ms Access,Record,Subform,我有这样一个子表单: 当我单击“选择”按钮时,我希望主窗体上的记录导航到相应的记录(具有相同员工ID的记录) 到目前为止,我尝试的是当按下按钮运行以下vba时: Private子命令6_Click() 将遥感器作为对象 将strLinkValue设置为字符串 strLinkValue=Forms![导航表单]![导航子窗体]![教师搜索qry子窗体]![Staff ID]。值 设置rs=表格![导航表单]![导航子窗体]![教师搜索qry子窗体].Form.RecordsetClone rs.

我有这样一个子表单:

当我单击“选择”按钮时,我希望主窗体上的记录导航到相应的记录(具有相同员工ID的记录)

到目前为止,我尝试的是当按下按钮运行以下vba时:

Private子命令6_Click()
将遥感器作为对象
将strLinkValue设置为字符串
strLinkValue=Forms![导航表单]![导航子窗体]![教师搜索qry子窗体]![Staff ID]。值
设置rs=表格![导航表单]![导航子窗体]![教师搜索qry子窗体].Form.RecordsetClone
rs.FindFirst“[Staff ID]=”&strLinkValue&“
形式![导航表单]![NavigationSubform]。书签=rs。书签
端接头
但当我这样做时,我会得到运行时错误438(对象不支持此属性或方法)

有什么想法吗?我觉得事情太复杂了。

您首先在这一行出现错误438(“对象不支持此属性或方法”)

Set rs=Forms![导航表单]![导航子窗体].Recordset.Clone
Recordset.Clone
更改为
Form.RecordsetClone
修复了错误(在该行)

不幸的是,在这一行尝试设置
书签时,再次出现错误438

表单![导航表单]![NavigationSubform]。书签=rs。书签
此时出现错误的原因是
[NavigationSubform]
是一个子表单控件,而控件没有
Bookmark
属性。您需要在该控件中包含的
表单
上设置
书签

我相信这是你想要的。我在Access 2010中用您的数据库副本对其进行了测试

Dim rs作为DAO.Recordset
将strLinkValue设置为字符串
strLinkValue=我![Staff ID]。值
和我一起
设置rs=.RecordsetClone
rs.FindFirst“[Staff ID]=”&strLinkValue&“
.Bookmark=rs.Bookmark
以
您首先在这一行出现错误438(“对象不支持此属性或方法”)

Set rs=Forms![导航表单]![导航子窗体].Recordset.Clone
Recordset.Clone
更改为
Form.RecordsetClone
修复了错误(在该行)

不幸的是,在这一行尝试设置
书签时,再次出现错误438

表单![导航表单]![NavigationSubform]。书签=rs。书签
此时出现错误的原因是
[NavigationSubform]
是一个子表单控件,而控件没有
Bookmark
属性。您需要在该控件中包含的
表单
上设置
书签

我相信这是你想要的。我在Access 2010中用您的数据库副本对其进行了测试

Dim rs作为DAO.Recordset
将strLinkValue设置为字符串
strLinkValue=我![Staff ID]。值
和我一起
设置rs=.RecordsetClone
rs.FindFirst“[Staff ID]=”&strLinkValue&“
.Bookmark=rs.Bookmark
以
您首先在这一行出现错误438(“对象不支持此属性或方法”)

Set rs=Forms![导航表单]![导航子窗体].Recordset.Clone
Recordset.Clone
更改为
Form.RecordsetClone
修复了错误(在该行)

不幸的是,在这一行尝试设置
书签时,再次出现错误438

表单![导航表单]![NavigationSubform]。书签=rs。书签
此时出现错误的原因是
[NavigationSubform]
是一个子表单控件,而控件没有
Bookmark
属性。您需要在该控件中包含的
表单
上设置
书签

我相信这是你想要的。我在Access 2010中用您的数据库副本对其进行了测试

Dim rs作为DAO.Recordset
将strLinkValue设置为字符串
strLinkValue=我![Staff ID]。值
和我一起
设置rs=.RecordsetClone
rs.FindFirst“[Staff ID]=”&strLinkValue&“
.Bookmark=rs.Bookmark
以
您首先在这一行出现错误438(“对象不支持此属性或方法”)

Set rs=Forms![导航表单]![导航子窗体].Recordset.Clone
Recordset.Clone
更改为
Form.RecordsetClone
修复了错误(在该行)

不幸的是,在这一行尝试设置
书签时,再次出现错误438

表单![导航表单]![NavigationSubform]。书签=rs。书签
此时出现错误的原因是
[NavigationSubform]
是一个子表单控件,而控件没有
Bookmark
属性。您需要在该控件中包含的
表单
上设置
书签

我相信这是你想要的。我在Access 2010中用您的数据库副本对其进行了测试

Dim rs作为DAO.Recordset
将strLinkValue设置为字符串
strLinkValue=我![Staff ID]。值
和我一起
设置rs=.RecordsetClone
rs.FindFirst“[Staff ID]=”&strLinkValue&“
.Bookmark=rs.Bookmark
以

Option Explicit
添加到所有模块的声明部分,然后从VB编辑器的主菜单运行Debug->Compile。修复编译器抱怨的任何问题,然后重试编译。重复此操作,直到消除所有编译错误。将
Option Explicit
添加到所有模块的声明部分,然后从VB编辑器的主菜单运行Debug->compile。修复编译器抱怨的任何问题,然后重试编译。重复此操作,直到消除所有编译错误。将
Option Explicit
添加到所有模块的声明部分,然后运行Debu