在 Access 查询中使用 CDec () 函数时,“输入的表达式包含错误的参数数”

中等:需要基本的宏、编码和互操作性技能。

本文仅适用于 Microsoft Access 数据库 (.mdb) 。

症状

在 Microsoft Access 查询中使用 CDec () 函数时,可能会收到以下错误消息:

“输入的表达式具有包含错误参数数的函数。”

原因

Visual Basic for Applications 代码支持 CDec () 函数,但在 Access 查询中不支持。

解决方案

创建使用 CDec () 函数的自定义函数。 从 Access 查询调用此自定义函数。 例如:

  1. 创建新模块并键入以下代码:
Function NewCDec(MyVal)
   NewCDec = CDec(MyVal)
End Function

  1. 保存并关闭模块。
  2. 在查询的“字段”行中键入 MyID:NewCDec ([CategoryID]) 。 运行此函数时,它将返回 MyID 字段的有效值。

状态

Microsoft 已确认这是本文开头列出的 Microsoft 产品中的问题。

更多信息

重现行为的步骤

Office Access 2002 和 Office Access 2003

  1. 打开示例数据库Northwind.mdb。
  2. 在“数据库”窗口中,单击“对象”下的“查询”,然后单击“新建”。
  3. 在“新建查询”框中,单击“设计视图”,然后单击“确定”。
  4. 在“显示表”框中,单击“类别”表。 单击 “添加”,然后单击 “关闭”。
  5. 将“CategoryName”字段从“字段列表”框拖到查询设计网格第一列的“字段”行。
  6. 在第二列的“字段”行中键入“MyID:CDec” (CategoryID) 。
  7. 尝试移动到查询设计网格中的下一列。 请注意,你会收到“症状”部分中提到的错误消息。

Office Access 2007 和 Office Access 2010

  1. 创建新数据库。

  2. 使用以下字段创建新表:

    名称 数据类型 字段大小
    ID 自动编号 长整型
    MyNum 数字 双精度
  3. 将表另存为 Table1。

  4. 打开表以添加数据,并在 “MyNum ”列中输入 10.55。

  5. 关闭 Table1。

  6. 在查询设计中创建新查询。

  7. 在“显示表”窗口中选择 “Table1” ,然后单击“ 添加”。

  8. 单击“ 关闭 ”以关闭 “显示表” 窗口。

  9. 将 myNum 字段从设计屏幕顶部的 “字段列表 ”框中拖动到查询设计网格第一列的“字段”行。

  10. 在第二列的 “字段” 行中,键入:

    MyNewNum:CDec (myNum)

  11. 尝试移动到查询设计网格中的下一列。 请注意,你会收到“症状”部分中提到的错误消息。