MS-Access - 从超链接数据单击打开表单

时间:2014-08-20 11:08:35

标签: vba ms-access

我的访问数据库中有一个表格和表格数量。该表格有一个超链接类型的列。当我单击此列中的值时,应打开数据库中的一个表单。

我该怎么办?

1 个答案:

答案 0 :(得分:1)

首先,您不应该让您的用户访问您数据库中的表格。

根据表格在数据表视图中创建表单。这允许您控制用户可以对数据执行的操作;在表单属性下 - > 数据您可以选择用户是否可以添加,编辑,删除和过滤记录。

应设置第二种形式,即从第一种形式开放,以便用户不能添加记录或在它们之间移动;即。没有记录选择器,也没有导航按钮。

我建议不要使用超链接字段类型,它不是它的设计目的。 “超链接”字段类型用于链接到本地​​或在线的外部文件 - 而不是用于在当前数据库周围导航。使用最适合该领域数据的任何字段类型。

相反,我会将 On Dbl Click 事件分配给您希望用于链接到表单的字段。打开数据表表格。切换到设计视图,打开表单的属性表,并将 HasModule (在其他下)设置为,以允许在此数据表上使用VBA形式。

打开该字段的属性表,然后在事件下单击 On Dbl上的三个点,然后单击代码生成器

我们现在必须添加代码以在正确的记录中打开另一个表单(显示单个记录)。这看起来如下所示:

Private Sub [field to double click]_DblClick(Cancel As Integer)

'When [field to double click] is double clicked, open [single-record form name] at record
DoCmd.OpenForm "[single-record form name]", , , "[unique field] = " & Me![unique field]

End Sub

这里应该注意两件事:

  1. 要双击的字段不必是选择记录的字段。实际上,您可以在每个字段上放置类似的代码,以便在用户双击记录的任何地方打开另一个表单。
  2. [unique field]必须对每条记录都是唯一的才能使其正常工作。我使用自动编号ID字段。