2011-10-11 96 views
0

现在用的是下面的查询SQL类型不匹配错误

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

查询Access数据库,从两个表中选择记录,在VB6,但我得到以下错误,当我运行查询

-2147467259 Type mismatch in expression. Microsoft JET Database Engine 

谁能告诉我

感谢

什么是错的编辑

两个stock.supplier_id,suppliers.id长整数数据类型

+3

编辑您的文章,包括列的数据类型'stock.supplier_id'和'suppliers.id'。 – HardCode

+0

您可以发布运行此查询的整个VB6代码吗?由于这两个字段的数据类型是相同的,所以它必须是别的。 – HardCode

回答

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)