子窗体字段超链接以另一种形式打开记录

时间:2013-07-16 14:51:20

标签: ms-access ms-access-2007

我正在尝试复制Access 2007“问题”模板/示例数据库中的某个功能。当您打开“问题列表”表单并单击ID时,它的行为类似于超链接,并以另一种形式打开该记录。

我该如何复制这个?我不是使用Access'cre​​ate macro'功能的忠实粉丝,如果可能的话,我更喜欢使用VBA编辑器。

提前感谢您的帮助。

2 个答案:

答案 0 :(得分:4)

我没有检查该模板数据库,但您的描述听起来像是DoCmd.OpenForm可以处理的内容。

假设您的表单包含一个名为 txtID 的文本框,该文本框绑定到表单记录源中的数字字段 ID 。为文本框的单击事件创建VBA过程,以将当前ID值作为OpenForm WhereCondition 参数传递。 (这假设下一个表单的记录源还包括该数字ID字段。)

Private Sub txtID_Click()
    Const cstrForm As String = "YourNextFormName" ' <-- change this
    DoCmd.OpenForm cstrForm, WhereCondition:="[ID]=" & Me.txtID
End Sub

如果ID字段的数据类型是文本而非数字,请在 WhereCondition 中的值周围加上引号。

WhereCondition:="[ID]='" & Me.txtID & "'"

答案 1 :(得分:4)

您要做的是首先将您感兴趣的文本字段设置为超链接。您可以通过在Display As Hyperlink的{​​{1}}标签中设置Format来执行此操作,或者您可以通过vba执行此操作,如下所示(虽然它似乎有视觉上的错误,即可点击链接但不显示为)

Property Sheet

执行此操作后,请创建myTextBox.DisplayAsHyperlink = acDisplayAsHyperlinkOnScreenOnly 事件。在子例程中,您可以运行代码以打开使用记录号(或适当的参数)

过滤的表单
Click