提示操作符丢失是以为"from IMA_物品,..."前没有空格
此外还有一些其他错误,你自己对照看看吧。另外你没有说明strckname是什么类型的变量,我是按字符型处理的strSQL = "select IMA_物品.物品编号,IMA_物品.单位,IMA_物品.外购件 ,IMA_物品名称.物品名称,IMA_物品.物品型号,IMA_厂商.厂商名称" & _
            " from IMA_物品,IMA_物品名称,IMA_物品型号,IMA_厂商" & _
            " where IMA_物品.生产厂家=IMA_厂商.厂商编号 and IMA_物品型号.型号编号=IMA_物品.物品型号编号 and IMA_物品名称.名称编号=IMA_物品型号.物品名称编号 and IMA_物品.所属库='" & strckname & "' and IMA_物品名称.物品类别编号=(select 类别编号 from IMA_物品类别 where 类别名称='" & Trim(Combo1.Text) & " ')"

解决方案 »

  1.   

    strSQL = "select IMA_物品.物品编号,IMA_物品.单位,IMA_物品.外购件 ,IMA_物品名称.物品名称,IMA_物品.物品型号,IMA_厂商.厂商名称" & _
                "from IMA_物品,IMA_物品名称,IMA_物品型号,IMA_厂商" & _
                " where IMA_物品.生产厂家=IMA_厂商.厂商编号 and IMA_物品型号.型号编号=IMA_物品.物品型号编号 and IMA_物品名称.名称编号=IMA_物品型号.物品名称编号 and IMA_物品.所属库=strckname and IMA_物品名称.物品类别编号=(select 类别编号 from IMA_物品类别 where 类别名称='" & trim(combo1.text) & "')"是不是有一处的and 写成了adn 各最后的括号引号什么的出问题!还有后一个select中会不会出多个值!
      

  2.   

    建议在strSQL=..语句后加一句
    Debug.Print strsql,运行时查看立即窗口中的strSQL表达式, 将该表达式贴出来看看
      

  3.   

    告诉你一个比较好的方法,先用ACCESS去建表及实现自己的查询功能,然后查看查询的SQL语句就成了,这是最有效的方法来编辑SQL语句搞定了记得给分