Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ms access DoCmd.OpenReport上出现错误_Ms Access_Report_Vba_Runtime Error - Fatal编程技术网

Ms access DoCmd.OpenReport上出现错误

Ms access DoCmd.OpenReport上出现错误,ms-access,report,vba,runtime-error,Ms Access,Report,Vba,Runtime Error,单击发票预览上的“确定”按钮时,表达式中出现运行时错误“3615”类型不匹配 我打开主菜单>>选择工单ID>>单击发票预览>>接受默认信息>>单击确定。当我这样做时,我得到了上面的错误。我不明白为什么会发生这种情况,我在这两个地方都改变了字段类型,并用各种不同的格式重新编写了VBA代码,认为我的代码是错误的 有人能帮我找出错误的根源吗 链接已删除…单击该按钮时,这是触发错误3615的btnInvoicePreview\u click行,表达式中的类型不匹配 DoCmd.OpenReport发票,

单击发票预览上的“确定”按钮时,表达式中出现运行时错误“3615”类型不匹配

我打开主菜单>>选择工单ID>>单击发票预览>>接受默认信息>>单击确定。当我这样做时,我得到了上面的错误。我不明白为什么会发生这种情况,我在这两个地方都改变了字段类型,并用各种不同的格式重新编写了VBA代码,认为我的代码是错误的

有人能帮我找出错误的根源吗


链接已删除…

单击该按钮时,这是触发错误3615的btnInvoicePreview\u click行,表达式中的类型不匹配

DoCmd.OpenReport发票,acPreview 由于发票报告的记录源查询中的此子句而发生错误

从…起 受雇者 右连接 客户 内部联接[工单] 在Client.ClientID=[Work Order].ClientID上 在Employee.EmployeeID=[Work Order].EmployeeID上 Employee.EmployeeID是AutoNumber,这意味着它的基本数据类型是长整数。但是[Work Order].EmployeeID是文本数据类型。因此会出现类型不匹配错误,因为查询要求将数字字段与文本字段联接

解决此问题的两种方法

更改一个表中的字段类型,使两个字段具有相同的数据类型,或至少具有兼容的数据类型 强制转换其中一个的数据类型以匹配另一个的数据类型。。。2个示例:关于Employee.EmployeeID=CLng[Work Order].EmployeeID;或者在CStrEmployee.EmployeeID=[Work Order].EmployeeID上 第一种方法可能需要更改其他数据库对象查询、表单和报表,以便它们不会因字段数据类型更改而中断。我不知道这会有多广泛,因此会有多痛苦


第二种方法可以工作,但Access查询设计器将不再能够在设计视图中显示联接条件。如果需要转换的值与转换它们所需的函数不兼容,则会存在更大的问题。例如,所有这些抛出错误:CLngNull;CLng;CLngfoo

谢谢。。。现在我可以解决我的报告问题,但至少它出现了。哈哈谢谢