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

Vba MS Access-从超链接数据打开表单单击,vba,ms-access,Vba,Ms Access,我的access数据库中有一个表和多个表单。该表有一列hyperlink类型。当我单击此列中的某个值时,数据库中的一个窗体应该被打开 如何继续?首先,您不应该让用户访问数据库中的表 在“数据表”视图中,基于表创建表单。这允许您控制用户可以对数据做什么;在表单属性->数据下,您可以选择用户是否可以添加、编辑、删除和筛选记录 第二个表单(从第一个表单打开)应设置为用户不能添加记录或在记录之间移动;即,没有记录选择器和导航按钮 我建议不要为此使用超链接字段类型,这不是它的设计目的。超链接字段类型用于链

我的access数据库中有一个表和多个表单。该表有一列hyperlink类型。当我单击此列中的某个值时,数据库中的一个窗体应该被打开


如何继续?

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

在“数据表”视图中,基于表创建表单。这允许您控制用户可以对数据做什么;在表单属性->数据下,您可以选择用户是否可以添加、编辑、删除和筛选记录

第二个表单(从第一个表单打开)应设置为用户不能添加记录或在记录之间移动;即,没有记录选择器和导航按钮

我建议不要为此使用超链接字段类型,这不是它的设计目的。超链接字段类型用于链接到本地或联机的外部文件,而不是用于在当前数据库中导航。使用最适合字段中数据的字段类型

相反,我会将Dbl Click上的事件指定给希望用于链接表单的字段。打开数据表窗体。切换到“设计”视图,打开表单的属性表,并将HasModule(在“其他”下)设置为“是”,以允许在此数据表表单上使用VBA

打开字段的属性表,在事件下单击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
这里应该注意两件事:

  • 双击的字段不必是选择记录时使用的字段。事实上,您可以在每个字段上放置类似的代码,这样,只要用户双击记录,就会打开另一个表单
  • [唯一字段]必须是每个记录的唯一字段,才能正常工作。我会使用自动编号ID字段

  • 桌子上的表格?你的系统到底是关于什么的?为什么要让用户直接访问表?不要这样做。您可以使用该表填充按钮,也可以使用连续的子窗体。用户将无权访问。。。相反,我将在此表上创建一个表单。表中的所有值(包括超链接数据)将显示在tis表单上。当用户单击此数据时,应打开另一个表单。。。这就是我提到的问题,你需要对控件进行“编码”来打开表单,不管是否有超链接,编码可以让一切成为可能。我建议你用更多的信息来编辑你的帖子,这样人们就不会对你的帖子投反对票了。2.