中等:需要基本的宏、编码和互操作性技能。
本文仅适用于 Microsoft Access 数据库 (.mdb) 。
症状
在 Microsoft Access 查询中使用 CDec () 函数时,可能会收到以下错误消息:
“输入的表达式具有包含错误参数数的函数。”
原因
Visual Basic for Applications 代码支持 CDec () 函数,但在 Access 查询中不支持。
解决方案
创建使用 CDec () 函数的自定义函数。 从 Access 查询调用此自定义函数。 例如:
- 创建新模块并键入以下代码:
Function NewCDec(MyVal)
NewCDec = CDec(MyVal)
End Function
- 保存并关闭模块。
- 在查询的“字段”行中键入 MyID:NewCDec ([CategoryID]) 。 运行此函数时,它将返回 MyID 字段的有效值。
状态
Microsoft 已确认这是本文开头列出的 Microsoft 产品中的问题。
更多信息
重现行为的步骤
Office Access 2002 和 Office Access 2003
- 打开示例数据库Northwind.mdb。
- 在“数据库”窗口中,单击“对象”下的“查询”,然后单击“新建”。
- 在“新建查询”框中,单击“设计视图”,然后单击“确定”。
- 在“显示表”框中,单击“类别”表。 单击 “添加”,然后单击 “关闭”。
- 将“CategoryName”字段从“字段列表”框拖到查询设计网格第一列的“字段”行。
- 在第二列的“字段”行中键入“MyID:CDec” (CategoryID) 。
- 尝试移动到查询设计网格中的下一列。 请注意,你会收到“症状”部分中提到的错误消息。
Office Access 2007 和 Office Access 2010
创建新数据库。
使用以下字段创建新表:
名称 数据类型 字段大小 ID 自动编号 长整型 MyNum 数字 双精度 将表另存为 Table1。
打开表以添加数据,并在 “MyNum ”列中输入 10.55。
关闭 Table1。
在查询设计中创建新查询。
在“显示表”窗口中选择 “Table1” ,然后单击“ 添加”。
单击“ 关闭 ”以关闭 “显示表” 窗口。
将 myNum 字段从设计屏幕顶部的 “字段列表 ”框中拖动到查询设计网格第一列的“字段”行。
在第二列的 “字段” 行中,键入:
MyNewNum:CDec (myNum)
尝试移动到查询设计网格中的下一列。 请注意,你会收到“症状”部分中提到的错误消息。