建议你分开写查询条件,分别跟踪,一大把的东西很难发现错误的。你在Where之前加多一个空格吧。再一个“订单ID.客户ID”的数据类型是不是和你的”Cid“或“客户ID.客户ID”的一致。另外SELECT的字段列表中不必每个字段都加“订单ID.”直接写就行了。

解决方案 »

  1.   

    你先Debug一下赋值语句运行完成后的结果:strSQL = ?是否正确。一般来将凡是字符类型一定要有引号括住,另外SQL的日期表示和VB默认不同,你可以用mm/dd/yy先格式化,然后用“#”括住。
      

  2.   

    请将运行期间strSql的值贴上来。谁知道你在text1到Text5的文本框输入了什么。
      

  3.   

    这个问题我好象答复过了。
    请将以下语句改为 
    strSQL = "SELECT 订单ID.客户ID, 订单ID.生产ID, 订单ID.产品ID, 客户ID.客户名称, 订单ID.单价, 订单ID.数量, 订单ID.总价, 订单ID.订单日期 " & _
                "INTO [客户信息] " & _
                " FROM 订单ID INNER JOIN 客户ID " & _
                " ON 订单ID.客户ID = 客户ID.客户ID " & _
              " where 订单ID.客户ID=" & Cid & " and 订单ID.生产ID " & Mid & _
              " and 订单ID.产品ID=" & Pid & " between 订单ID.开始日期=" & begindate & " and 订单ID.结束日期=" & enddate
    复制并粘帖到您的程序就行。以后不妨在 strsql 赋值后加上 msgbox strsql 一句
        别忘了在标识符之间加上空格!变量名之间常加空格总不会错的!"开始之后即加上空格。还有SQL SERVER 中和 enddate 对应的变量类型应为字符型。
      

  4.   

    1。“where” 前后要有空格
    2。“订单ID.生产ID ”后面似乎少了一个“=”
    3。“between”用的有些怪
    4。日期格式前后要有“#”
      

  5.   

    在sql中最好不要用中文,有时会导致意想不到的错误
      

  6.   

    哈!哈!哈!似乎就是WHERE的前面少了一个空格,有人已经告诉你了!
      

  7.   

    哈!哈!哈!似乎就是WHERE的前面少了一个空格,有人已经告诉你了!
    你这样写吧 " where.... 而不是"where.....
    OK啦!
      

  8.   

    好像sql不是错的。你的变量定义有错吧。Mid是关键字吧怎么能定义成变量呢?