下面的SQL语句将值插入到新表(TempPoints)中的新表中。如果我删除语句的最后一部分(以粗体显示),则查询运行正常但是当我将其添加回语句时,我收到以下错误消息; '[ODBC EXCEL驱动程序]数据类型标准不匹配'。
我已经在SQLServer中复制了表和查询,它运行正常并且正如预期的那样证明了完整的语句是正常的。这是Excel ODBC驱动程序的限制吗?
提前谢谢。
strSQL = "INSERT INTO [TempPoints$] (REFP, PointItemRef, LoadItemRef, PointDES, Iotype, Subtype, Notes) " & _
"SELECT " & tempref & ", [PointsDB$].ItemRef, [LoadstoPointsDB$].LoadRef, [PointsDB$].PointDES, [PointsDB$].Iotype, [PointsDB$].Subtype, [PointsDB$].Notes " & _
"FROM [LoadsToPointsDB$] INNER JOIN [PointsDB$] ON [LoadsToPointsDB$].PointRef = [PointsDB$].ItemRef " & _
"WHERE [LoadsToPointsDB$].LoadRef = " & moditemref & " AND [PointsDB$].SystemComp = 'Y' " & _
**"AND NOT EXISTS (SELECT * FROM [TempPoints$] WHERE [TempPoints$].PointItemRef = [PointsDB$].ItemRef)"**
答案 0 :(得分:0)
感谢那些看过这个的人,但我似乎找到了答案。
有一个先前的insert into语句加载表中的数据,一旦数据被加载到表中,表就将数字存储为文本而不是整数。删除行并确保列的格式设置为整数后,SQL查询开始按预期运行。