这似乎是一个非常简单的问题,但是,我仍然没有摆脱数据类型不匹配。情形:
- > Excel文件链接在表[tbl_Mast_CC_List]中,我通过查询将可能的成本中心编号转换为安全值,在成本中心或前面的000之前没有文本变量,下一个箭头
- > qry_CC_Clean是CostCenter:Val([tbl_Mast_CC_List.CostCenter])
- >然后我创建了不匹配的查询,这里是SQL:
SELECT
qry_CC_S1_Clean_F2F_Alloc.DataName
, qry_CC_S1_Clean_F2F_Alloc.Year
, qry_CC_S1_Clean_F2F_Alloc.CostCenter
FROM qry_CC_S1_Clean_F2F_Alloc
LEFT JOIN qry_CC_S1_Clean_Mast_CC_List
ON qry_CC_S1_Clean_F2F_Alloc.CostCenter = qry_CC_S1_Clean_Mast_CC_List.CostCenter
WHERE (((qry_CC_S1_Clean_Mast_CC_List.CostCenter) Is Null))
ORDER BY qry_CC_S1_Clean_F2F_Alloc.CostCenter;
我唯一能让它发挥作用的是,如果我制作查询表,我真的不想这样做。任何建议都会非常感激,因为我必须针对众多表格运行这种无与伦比的查询,以确保公司不会错过任何成本中心。谢谢!
答案 0 :(得分:0)
您的问题可能是由于使用val()
函数并尝试针对空值进行测试。我的理解是val()
没有返回空值,当它找不到任何东西时它返回0。您可能最好以相反的方向运行转换,即在数字CostCenter字段上使用CStr()
并将其与Excel中的文本数据进行比较。
或者,您可以将Excel字段本身更改为数字格式而不是文本。