VBA 访问和表单

Posted

技术标签:

【中文标题】VBA 访问和表单【英文标题】:VBA access and forms 【发布时间】:2015-12-23 09:55:26 【问题描述】:

我在 Access 中创建了一个数据库,并且在某些表中存在某些类型的记录需要特定的插入,因此我决定使用 VBA 来处理这个问题。

问题是如果我创建一个带有一些我想要引用的控件并将它们的值用作查询条件的表单,那么该表单仍然是一种插入数据的方式。所以查询有效,但我插入的数据也是直接从表单添加的,创建了重复项。

问题是,有没有办法创建一个表单,它只具有文本输入控件,但不做任何记录,将插入、删除、更新全部留给 VBA 中的查询? 我试图在表格中适当的“添加记录”上加上“否”,但它完全空白,没有任何控件。

【问题讨论】:

只创建一个空白表格?我不确定我是否理解你的问题。只需使用 New form 按钮,添加控件等。然后不会将查询或数据库链接到表单,因此除非您使用 VBA 执行某些操作,否则不会在任何地方插入任何内容。 【参考方案1】:

您的表单必须未绑定,即其RecordSource 必须为空。

【讨论】:

【参考方案2】:

您的表单可以绑定或不绑定到表/查询。 这意味着表单上的控件可能会绑定到该表/查询的字段。

但您也可以拥有相同形式的未绑定控件。

示例: 您可以制作一个表单,其中正文具有表记录的列表视图。在本节中,控件将绑定到一个字段。

在表格的标题中,您可能有未绑定的控件,可用于过滤显示的记录或添加新记录。您可能希望以这种方式添加记录,而不是让用户直接插入数据,以便在将数据实际添加到新记录之前添加检查或进行任何其他类型的处理。

【讨论】:

以上是关于VBA 访问和表单的主要内容,如果未能解决你的问题,请参考以下文章

访问VBA:将表单/子表单名称传递给函数?

访问表单 VBA ComboBox 点击事件

使用 VBA 未打开表单时在访问中更新表单

使用 VBA 设置访问表单的控件值

访问 VBA 弹出子表单以提交条目

提交表单时VBA访问新记录