【发布时间】:2014-01-10 05:33:57
【问题描述】:
我有一个使用 SQL Server 后端的生产数据库,其中的表链接到 Access 前端。出于性能原因,我尝试将大部分报表查询编写为 SQL 视图,并简单地从 Access 传入参数。
我遇到的问题是我似乎不允许格式化在 SQL 视图中计算的字段。
例如,我有一张桌子:
CaseLot Drums GrossWeight %H2O
01 10 10,301 5.21
Drums、GrossWeight 和 Drums 都是十进制数据类型,但每个都有不同的比例。
在我看来,我包括上表中的值,还包括以下计算字段:
[GrossWeight] - 19.6*[Drums] AS NetWeight
([GrossWeight] -19.6*[Drums])*(100-[%H2O])/100 AS DryWeight
当我将这些计算字段拉到 Access 时,格式化 NetWeight 字段没有问题,但它不会让我为 DryWeight 字段设置格式。这真的很令人沮丧,因为我想将 DryWeight 字段显示到小数点后两位,但它不会这样做。
我也尝试在 Access 中应用 Round() 函数,但是当我包含要舍入到的比例时,它似乎给了我一个“循环引用”错误。 Round(DryWeight) 可以将其四舍五入到小数点后 0 位,但 Round(DryWeight,2) 给我一个错误。
这里发生了什么?
【问题讨论】:
-
运行时显示的干重代码会产生什么?另外,您可以选择 %H2O 吗?也许问题在于以特殊字符开头的列名。
-
它为给定的示例生成 9578.5295。我想显示为 9,578.53。选择 %H2O 没有任何问题。我构建了更复杂的求和查询,这些查询也可以正常工作,除了这个随机格式问题。
-
你试过这里提到的格式化功能吗? techonthenet.com/access/functions/string/format.php
-
进步!当我在 Access 查询中包含 Format() 函数时,它可以工作。这些计算值的属性选项卡中的“格式”下拉列表是否有原因是空白的?
-
几乎就像 Access 将这些计算出来的数字识别为字符串一样。
标签: sql ms-access formatting sql-view