首页 > 解决方案 > 访问:修改数据表子表单列中的值

问题描述

我有一个包含以下字段的表:ID、序列号、容量、准确性。

我根据序列号在数据表子表单中显示 1 到 4 条记录。

现在我想显示每个容量

但是,我希望表中的所有值都以 kg 为单位。所以我只想在显示它们时更改它。

我尝试的最后一件事是:我添加了一个名为 的额外列txt_Capaciteit,将其用作存储数据的“主”列,然后在空列中添加“kg”。但这会将所有列更改Capaciteit为在 column 中选择的列txt_Capaciteit

Me.Capaciteit = Me.txt_Capaciteit & " kg"

编辑
我也尝试使用表达式作为控制源。通过使用两个 if 语句,然后相除或相乘,最后加上“t”、“kg”或“g”。即使这样有效,它也使表单非常缓慢和滞后(加载 4 个字段需要 1-2 秒)

有人可以告诉我我做错了什么吗?提前致谢!

标签: ms-accessvba

解决方案


创建一个这样的函数:

Public Function FormatWeight(ByVal Value As Currency) As String

    Dim Result  As String

    Select Case Value
        Case Is < 0.5
            Result = Format(Value * 1000, "0 \g")
        Case Is < 5000
            Result = Format(Value, "0.00 \k\g")
        Case Else
            Result = Format(Value / 1000, "0.000 \t")
    End Select

    FormatWeight = Result

End Function

然后,要在表单中显示以千克为单位的重量,请将此ControlSource用于文本框:

=FormatWeight([YourWeigthField])

推荐阅读