首页 文章

访问2010表达式构建器

提问于
浏览
0

我想要一个文本框来包含数据,这是基于2个其他控制字段值的计算 - 只有当它的值为null时(即数据库中列的当前值为null) .

所以我在表达式构建器中为默认值属性输入=([control1] * [Control2])/ 1000 - 但结果总是显示文本框为空(即使控件2和控件2包含值) .

我怎样才能做到这一点?这样的操作只能在代码隐藏中完成,即VB ??

谢谢,

KS

2 回答

  • 0

    我想你在谈论绑定到表单记录源中的字段的控件 . 当底层字段为空时,您希望控件加载您的计算值 .

    如果该解释是正确的,您可以从表单的On Current事件中进行 .

    If IsNull(Me.txtYourTextBox) Then
        Me.txtYourTextBox = (Nz(Me.control1) * Nz(Me.Control2)) / 1000
    End If
    

    这会将计算值加载到文本框中,允许用户根据需要更改其值,并在保存记录时将值存储到绑定字段 .

    如果绑定字段不是Null,则其值将显示在文本框中,而不会通过On Current代码进行更改 .

    那是你要的吗?

  • 1

    要使用VBA完成此操作,请添加Form_Load事件 . (在“设计视图”和“表单”属性中打开表单,单击“事件”选项卡,然后选择“加载时”的“事件过程”并单击“...” . 此示例使用[TextField]来引用表数据 .

    Private Sub Form_Load()
      TextControl.SetFocus
      If IsNull([TextField]) Then
        TextControl.Text = ([Control1] * [Control2]) / 1000
      End If
    End Sub
    

相关问题