我在Access 2010中有一个联系人数据库。我已经制作了一个显示所有联系信息的表单,但我需要一种方法来轻松地在联系人之间导航。我已经创建了一个搜索框,我有一个查询,用一个名称与搜索匹配的列表更新连续子表单。现在我需要一种方法来点击子表单中的名称以转到主表单中的该记录。
使用拆分表单我会得到我需要的东西,但是当我有标签或导航表单时它不起作用。此外,连续子窗体看起来更适合我的目的。
Access 2010中的联系人模板几乎就是我要查找的内容,搜索框和结果列表位于左侧,但我无法使用该模板或将其复制。
答案 0 :(得分:0)
如果您使用连续子表单,只需在子表单详细信息部分使用点击事件。
1.单击详细信息部分,然后转到属性栏的“事件”选项卡。
2.转到"点击"并选择代码生成器输入vba以自动获取进程的基本环境
3.粘贴以下代码并根据需要进行修改。
DoCmd.GoToRecord acDataForm, "yourmainform", acGoTo, sub_fieldname
想象一下,您有以下设置: frm_contact是你的主要形式。
sub_contactlist是显示所有列出名称的子表单
contact_id是表单的唯一标识符(主要表单和子表单)
sub_contactlist的详细信息部分的最终结果应如下所示。
Private Sub Detail_Click()
DoCmd.GoToRecord acDataForm, "frm_contact", acGoTo, contact_id
End Sub
" CONTACT_ID"指子表单中的当前联系人条目。它也可能以不同的名称命名。你也可以使用" Me.contact_id"为了清楚起见。代码将跳转到唯一标识符与偏移量匹配的条目(在本例中为contact_id)。
如果您不使用详细信息部分子表单而是在主表单上使用按钮或类似内容,您甚至可以使用" acDataForm"和" frm_contact"空白。
注意:我通常建议在处理代码时尽可能省略空格。如果您的名字中有空格,请将它们放在方括号中。否则你会收到错误。有些人通常使用方括号以某种方式突出显示代码中的字段。我没有。