多表查询中的sql类型不匹配错误

时间:2011-10-11 19:47:27

标签: sql ms-access vb6 multiple-tables

AM查询访问数据库,使用以下查询在vb6中从两个表中选择记录

SELECT stock.*,suppliers.id, suppliers.s_name as supplier FROM stock,suppliers 
WHERE stock.supplier_id=suppliers.id

但是当我运行查询时出现以下错误

-2147467259   Type mismatch in expression.   Microsoft JET Database Engine

任何人都可以告诉我出了什么问题

感谢

修改

stock.supplier_id,suppliers.id都是长整型数据类型

1 个答案:

答案 0 :(得分:2)

stock.supplier_idsuppliers.id必须具有兼容类型才能使此等式生效。

有一些转换函数可用,因为您没有提供类型,CStr应该这样做。

此外,我建议你避免隐式连接:

SELECT stock.*,suppliers.id, suppliers.s_name as supplier 
FROM stock 
inner join suppliers 
on CStr(stock.supplier_id) = CStr(suppliers.id)