为什么这个sql 在access 中可以执行在vb 中用ado却不能查到记录?该如何解决

为什么这个sql 在access 中可以执行在vb 中用ado却不能查到记录?cnn.OpenStrConPROVIDERMicrosoft.Jet.OL

为什么这个sql 在access 中可以执行在vb 中用ado却不能查到记录?
cnn.Open   StrCon
'PROVIDER=Microsoft.Jet.OLEDB.4.0
      rs.Open   "select   c.unitid   from   unit   c   where   c.unitlevel   like   (select   d.unitlevel+ '* '   from   unit   d   where   d.unitid   =1 ",   cnn,   3,   1
       


[解决办法]
有两个隐患:
(1)括号不匹配。是不是少了一个“)”呢?
(2)将通配符“*”用“%”替换。
[解决办法]
select c.unitid from unit c where c.unitlevel like (select d.unitlevel+ '% ' from unit d where d.unitid =1)