我正在尝试复制Access 2007“问题”模板/示例数据库中的某个功能。当您打开“问题列表”表单并单击ID时,它的行为类似于超链接,并以另一种形式打开该记录。
我该如何复制这个?我不是使用Access'create macro'功能的忠实粉丝,如果可能的话,我更喜欢使用VBA编辑器。
提前感谢您的帮助。
答案 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