【发布时间】:2018-09-21 03:29:27
【问题描述】:
我有一个包含以下字段的表格:ID、序列号、容量、准确性。
我根据序列号在数据表子表单中显示 1 到 4 条记录。
现在我想显示每个容量
- 5000kg以上以吨计(除以1000加“t”)
- 5000kg到0.5kg之间(保持数字加“kg”)
- 低于 0.5kg(以克计)(乘以 1000 并加上“g”)
但是,我希望表中的所有值都以 kg 为单位。所以我只想在显示它们时更改它。
我尝试的最后一件事是:我添加了一个名为txt_Capaciteit 的额外列,将其用作存储数据的“主”列,然后在一个空列中添加“kg”。但这会将Capaciteit 中的所有列更改为txt_Capaciteit 列中选择的列。
Me.Capaciteit = Me.txt_Capaciteit & " kg"
编辑:
我还尝试使用表达式作为控制源。通过使用两个 if 语句,然后相除或相乘,最后添加“t”、“kg”或“g”。即使这样有效,它也会使表单变得非常缓慢和滞后(加载 4 个字段需要 1-2 秒)
谁能告诉我我做错了什么?提前致谢!
【问题讨论】:
-
这张表有多少条记录?
-
5000左右,每周都会增加+-10。但正如我所说,我一次最多只能显示 4 个。
-
这听起来像是 Access 数据宏会有所帮助的东西(向您的表添加一个新字段,例如
CapacityAdjusted,如Short Text。然后,有一个After Update和 @ 987654328@ 使用您描述的逻辑更新此字段的宏。不幸的是,我对 Access 数据宏不够熟悉,无法提供完整的答案(太糟糕了,您没有使用 SQL Server 作为后端 --- 我可能是那里有更多帮助)。 -
当你的表达变慢时,你把你的表达放在哪里,在底层查询中还是在表单上?在查询中尝试它通常会执行得更快。如果这不起作用,您可以使用一个表来存储文本和一个乘数,并将它们与查询中的连接一起应用。
-
@Minty 我把它放在表单中,因为我不知道如何在选择查询中实现它...