小编典典

连接具有不同数据类型的两个表MS ACCESS-“表达式中的类型不匹配”错误

sql

我正在尝试使用两个实时CSV对访问进行查询,该CSV具有一个具有不同数据类型(数字和短文本)的公共字段。我发现您可以使用’CStr’联接不同的数据类型。我已经在sql视图的代码中添加了“
CStr”。请找到下面的代码。

这给了我想要访问的输出,当我单击“数据表视图”时,现在可以看到输出。但是,当我尝试将数据导出(我实际上是在尝试创建导出规范,以便可以使用宏导出csv)作为csv时,会收到“表达式中类型不匹配”的错误消息。

这是我的代码:

SELECT Sixthform_Reg_Year_Groups.Forename, 
       Sixthform_Reg_Year_Groups.Surname, 
       Sixthform_Reg_Year_Groups.Reg, Students.objectGUID
FROM Sixthform_Reg_Year_Groups INNER JOIN
     Students
     ON CStr(Sixthform_Reg_Year_Groups.Person_id) = Students.employeeID
WHERE (((Sixthform_Reg_Year_Groups.Reg)="12E"));`

我也尝试过在两边都添加“ CStr”。如下所示,但遇到相同的问题。

FROM Sixthform_Reg_Year_Groups INNER JOIN
     Students
     ON CStr(Sixthform_Reg_Year_Groups.Person_id) = CStr (Students.employeeID)
WHERE (((Sixthform_Reg_Year_Groups.Reg) = "12E"));`

当然,如果没有“ CStr”,我什至无法在“数据表视图”上查看输出。每次我单击数据表视图时,它都会给我“表达式中的类型不匹配”错误消息。

解决该问题的任何帮助将不胜感激。

提前致谢。

附加信息:数据类型为EmpoyeeID为“短文本”,人员ID为“数字”


阅读 110

收藏
2021-04-14

共1个答案

小编典典

好的,我已经设法解决了这个问题,最后证明很简单。这就是我所做的。

基本上,我重新导入了链接表。这次,在导入窗口中,我单击了“高级”,并在“人员ID”列上将数据类型更改为“短文本”,以与“
employeeID”数据类型匹配。然后所有问题都解决了。(我不知道你能做到这一点)

谢谢大家的回复。通过您的评论引导我走了正确的道路。

非常感激。

2021-04-14