Ошибка несоответствия типа SQL в запросе нескольких таблиц - PullRequest
0 голосов
/ 11 октября 2011

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, supplier.id являются длинным целым типом данных

1 Ответ

2 голосов
/ 11 октября 2011

stock.supplier_id и suppliers.id должны иметь совместимые типы, чтобы это равенство работало.

Доступно несколько функций преобразования, так как вы не указали типы, CStr должен это сделать.

Кроме того, я бы посоветовал вам избегать неявных объединений:

SELECT stock.*,suppliers.id, suppliers.s_name as supplier 
FROM stock 
inner join suppliers 
on CStr(stock.supplier_id) = CStr(suppliers.id)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...