tmpConstr = "DRIVER={MySQL ODBC 3.51 Driver};" & _ 
            "SERVER=" & tmpHostN & ";" & _ 
            "DATABASE=" & tmpDatabase & ";" & _ 
            "UID=" & TmpLogin & ";PWD=" & tmpPwd & ";" & _ 
            "OPTION=3" ';stmt=SET NAMES GB2312" 
' 连接数据库 
gCnMysql.Open tmpConstr 
' 设置该属性, 使 recordcount 和 absolutepage 属性可用 
gCnMysql.CursorLocation = adUseClient 
strsql = " select  udt_id,doc_id,flowname,field36,field19,field15,field35,field34,field33,field32,field31,field30,field29,field25  " 
strsql = strsql & "  from udtA" 
strsql = strsql & "  left join utmB on udtS.DOC_ID =utmB.flowid" 
strsql = strsql & "  left join utdC on utdC.masterid =utmB.id" 
strsql = strsql & "  where udtA.UDT_ID='10002'" 
strsql = strsql & "  and utmB.id is not null" 
 rs.Open strsql, gCnMysql, adOpenDynamic, adLockOptimistic 
多表查询时出错。 
单表查询时就没有问题。急啊。left join不用也不行啊。 

解决方案 »

  1.   

    strsql = " select  udt_id,doc_id,flowname,field36,field19,field15,field35,field34,field33,field32,field31,field30,field29,field25  " 
    strsql = strsql & "  from udtA" 
    strsql = strsql & "  left join utmB on udtS.DOC_ID =utmB.flowid" 
    strsql = strsql & "  left join utdC on utdC.masterid =utmB.id" 
    strsql = strsql & "  where udtA.UDT_ID='10002'" 
    strsql = strsql & "  and utmB.id is not null" 
     rs.Open strsql, gCnMysql, adOpenDynamic, adLockOptimistic udtS应该是udtA吧
      

  2.   

    表名是我发布的时候改的。:(
    我昨晚测试了一下。只要select的字段中有decimal类型那么就会报上面的错误,不知道怎么回事,我已经改用其它类型了,但还是想知道为什么?急急急。
      

  3.   

    MySQL 的 Decimal 转化为 ADO 的 DataTypeEnum 具有不确定性,改用其它类型。
    或者用 4.x 的驱动试试。
      

  4.   

    网上怎么没有myodbc4.x的下载啊。
    我想试试