我得到一个#Type!在 Access 报告中使用运算符时出错 (Access 2010)

Posted

技术标签:

【中文标题】我得到一个#Type!在 Access 报告中使用运算符时出错 (Access 2010)【英文标题】:I'm getting a #Type! error when using operators in Access report (Access 2010) 【发布时间】:2016-06-06 17:01:42 【问题描述】:

我会尽力描述我的问题。我正在修改 Access 2010 中的报告。我的详细信息部分中有一个文本框,它显示带有框的托盘的重量。 =[PalletWeight]

PalletWeight 字段由 SQL 查询生成,该查询从我们的数据库中获取此信息。正如它在数据库中发生的那样,该字段如下所示: 100.000000000。我不知道数据库中该字段的数据类型,因为查找并不像打开 SQL Server 那样简单,但是=CDbl([PalletWeight]) 确实有效,所以除非有人告诉我他们需要知道我没有为此获得该信息问题。

托盘按项目分组。所以第 1 项可能需要用 3 个托盘运送,第 2 项可能需要 4 个,等等......

如前所述,我在文本框上使用CDbl 将值转换为在实际报告中显示为 100.00。 我需要添加一个计算百分比的文本框。对于每件商品,每件商品所需托盘的总重量是所生产的所有托盘总重量的一定百分比。

当我尝试执行以下操作时,我得到了#Type!错误。

=Format([PalletWeight / Sum(PalletWeight) * 100, "Percentage")

我还尝试按名称(名称引用)引用文本框,以对其值而不是文本框中包含的值执行操作。

=Format([TextBox1] / [Textbox2] * 100), "Percentage").

此报告有多个分组部分。我尝试使用隐藏的文本框来保存我想要操作和引用的值,但似乎只要我使用算术,我就会得到#type!。

我在属性控制源部分中使用表达式生成器。任何帮助将不胜感激。

【问题讨论】:

我意识到百分比格式可能会消除我乘以 100 的需要,但即便如此使用除法运算符也会产生错误 【参考方案1】:

您需要修改查询以添加另一个计算字段 说dblPalletWeight =CDbl([PalletWeight]) 然后在你的公式中使用它

=Format(dblPalletWeight / Sum(dblPalletWeight) * 100, "Percentage")

或修改您的公式以即时进行转换

=Format(CDbl([PalletWeight]) / Sum(CDbl([PalletWeight])) * 100, "Percentage")

【讨论】:

谢谢!我可以尝试第一个选项...我之前尝试过第二个选项,但仍然遇到#Type! 我刚刚注意到您的原始公式中缺少一个括号 - 我将其复制/粘贴到我的示例代码中 - 我已经在我的代码中修复了括号。当我尝试执行以下操作时,您得到了#Type!错误。 =Format([PalletWeight / Sum(PalletWeight) * 100, "Percentage")

以上是关于我得到一个#Type!在 Access 报告中使用运算符时出错 (Access 2010)的主要内容,如果未能解决你的问题,请参考以下文章

在 Access CrossTab 查询报告中跨列求和行

MS Access 如何计算过滤报告上的唯一记录或值

C# Access 报告打印代码错误

在 Microsoft Access 报告中获取两个计数之间的差异

通过 C# 检查 MS Access 报告中现有标签的宽度

在 Access 报告中使用查询参数