2015-10-05 48 views
-1

影响我有这样的SQL查询,它MSACCESS VBA运行良好,并创建一个MSACCESS查询,但在VB6它不影响:SQL查询是不是在VB6记录

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

RIGHT JOIN(NhaCC RIGHT JOIN - 这是什么意思? – Rob

回答

0

您的LIKE错误:使用%作为wildchar而不是*。要显示它:

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

在MS Access中,星号也是零个或多个字符的有效字符。https://msdn.microsoft.com/zh-cn/library/bb221192%28v = office.12%29.aspx – jac

+0

是的,但阅读它,它解释更多:http://stackoverflow.com/questions/690731/ms-access-query-why-does-like-behave-differently-when-being -alla-from-vb6-app –

+0

是的,我知道这一点,我的意思是星号和星号之间的区别,百分号不能是引起OP问题的原因 – jac