0

好的,这是我的问题。我有一个 csv 文件,它是在我的控制之外创建的,其中包含同一文件上不同分组的数据。前七行是每个组的表标题,每个组都不同。因此,首先我将此文件导入 Access 到单个表中。从那以后,我创建了查询来访问各个组以进行数据分析。问题是我需要在其中一个字段上使用表达式,但因为它必须是文本才能从电子表格导入,因为每一列都包含数字和字符,因为顶部的标题,而且有时数据不是在正确的列中,需要按摩。所以我想要做的是将每个组插入到他们自己的表中,但我想将一些列转换为数字,以便我的表达式能够工作。我将发布我遇到问题的表达式。谢谢。

    Sum(IIf([2000 Query].[Field19]=1,IIf([5000 Query].[Field21]>0,-[5000 Query].[Field21],[5000 Query].[Field21]),[5000 Query].[Field21])) AS [ADJ Invoice Total]
4

1 回答 1

1

CDec:

IIf(CDec([2000 Query].[Field19])=1 ...

它是这样工作的:

?cdec(" 20,121.34 ")
20121.34

所以逗号和前导和尾随空格应该没问题。

CDec 在 VBA 中可用,但在 MS Access 查询中不可用。在查询中,Val 将起作用:

IIf(Val([2000 Query].[Field19])=1 ...

或 CDbl,它将接受逗号千位分隔符以及前导和尾随空格。

于 2012-05-24T16:51:52.303 回答