2011-10-11 166 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)