MS Access表单插入隐藏值

时间:2012-03-15 18:01:46

标签: ms-access

我不确定如何定义它。

我有一个包含几个字段的表,我们称之为:ID,名称和类型。

我有一个表单,允许用户通过数据表视图添加新记录。 ID和类型被隐藏,只显示名称。我设置了一个过滤器,只显示特定类型的记录(即Type = 2)

但是,如果有人在数据表中输入新记录,则不会设置“类型”字段。在字段上设置默认值将无法实现我想要的效果,因为我有一些基于Type定制的表单,因此,每个表单都需要根据该类型向同一个表提交新记录。

有没有办法定义应该将Type设置为什么值?我想我可以捕获BeforeUpdate事件,并以这种方式设置值,只需隐藏列。我想知道是否有一种“正确”的技术方式。

1 个答案:

答案 0 :(得分:0)

在表单的Before Insert事件中,您可以检查当前Filter表达式,解析过滤器的 Type 值,将其从字符串转换为数字,最后将该数字分配给隐藏控件它绑定到 Type 字段。

因此,假设隐藏控件是名为 txtType 的文本框,其控件源是一个长整数字段:

Private Sub Form_BeforeInsert(Cancel As Integer)
    Me.txtType = CLng(Split(Me.Filter, "=")(1))
End Sub

使用适当的类型转换函数代替CLng()以匹配绑定字段的数据类型。

如果你像这样设置过滤器

,那么 的方法应该
Me.Filter = "[Type] = 2"
Me.FilterOn = True

但是,如果您使用其他方法进行过滤,请向我们提供有关它的详细信息。