【问题标题】:MS Access Form Insertion Hidden valueMS Access 表单插入隐藏值
【发布时间】:2012-03-16 02:34:52
【问题描述】:

我不确定如何定义它。

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

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

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

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

【问题讨论】:

    标签: ms-access


    【解决方案1】:

    在表单的Before Insert事件中,可以检查当前的Filter表达式,解析出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
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-01-03
      • 1970-01-01
      • 2017-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多