2015-10-05 3 views
-1

У меня есть этот запрос будет, он хорошо работает в MSAccess VBA и создает запрос MSACCESS, но в VB6 это не осуществляется:SQL-запрос не производится в VB6 Recordset

SELECT 
    top 1000 NhapKHO.* 
    ,NHANVIEN.NAME as N 
    ,NHANVIEN.FNAME as FN 
    ,NhaCC.MaNCC 
    ,NhaCC.TenNCC 
    ,DMKHO.MaKho 
    ,DMKHO.TenKho 
FROM 
    DMKHO 
RIGHT JOIN (NhaCC RIGHT JOIN (NHANVIEN RIGHT JOIN NhapKHO ON NHANVIEN.ID = NhapKHO.ID_NV) ON NhaCC.ID = NhapKHO.ID_NCC) ON DMKHO.ID = NhapKHO.ID_KHO 
WHERE 
    ((MaNCC like '*ibo*') 
or 
    (TenNCC like '*ibo*') 
or 
    (NGUOIGIAO like '*ibo*') 
or 
    (fname like '*ibo*') 
or 
    (name like '*ibo*') 
or 
    (ngaynhap like '*ibo*') 
or 
    (nhapkho.ID like '*ibo*')) 
order by 
    NhapKHO.id desc 

Результат возвращается пустой.

+0

Какова Ваша база данных? – stuartd

+0

Пожалуйста, правильно отформатируйте свой код. –

+0

ПРАВИЛЬНАЯ ПРИСОЕДИНЯЯ (NhaCC RIGHT JOIN - что это значит? – Rob

ответ

0

Ваш НИКТО не так: используйте% как wildchar, а не *. Чтобы показать его:

... 
or 
    (name like '%ibo%') 
or 
... 
+0

В MS Access звездочка также является допустимым символом для ноля или более символов. Https://msdn.microsoft.com/en-us/library/bb221192%28v = office.12% 29.aspx – jac

+0

Да, но читайте это, это объясняет больше: http://stackoverflow.com/questions/690731/ms-access-query-why-does-like-behave-differently-when-being -called-from-vb6-app –

+0

Да, я знал об этом. Моя точка зрения заключалась в том, что разница между звездочкой и значком процента не может быть тем, что вызывает проблему OP. – jac

Смежные вопросы