rs11.Open "select bgdb.bgrq,bgdb.scbh,bgdb.bgdh,ckb.cpmc,ckb.cpsl,pbasic.pdw,ckb.dj,ckb.je,ckb.bz,ckb.fph from bgdb,ckb,pbasic where bgdb.bgdh = ckb.bgdh and ckb.cpmc = pbasic.pmc and bgdb.scbh in (select distinct bgdb.scbh from bgdb where bgdb.bgdh = '" & Trim(rs12.Fields(0)) & "')", cn, 3, 1我自己试了n次,发现好象是子查询的问题,但我不知道哪儿不对,谢谢各位!

解决方案 »

  1.   

    rs11.Open "select bgdb.bgrq,bgdb.scbh,bgdb.bgdh,ckb.cpmc,ckb.cpsl,pbasic.pdw,ckb.dj,ckb.je,ckb.bz,ckb.fph from bgdb,ckb,pbasic where bgdb.bgdh = ckb.bgdh and ckb.cpmc = pbasic.pmc and bgdb.scbh in (select distinct bgdb.scbh from bgdb where bgdb.bgdh = '" & Trim(rs12.Fields(0)) & "'), cn, 3, 1
      

  2.   

    "select bgdb.bgrq,bgdb.scbh,bgdb.bgdh,ckb.cpmc,ckb.cpsl,pbasic.pdw,ckb.dj,ckb.je,ckb.bz,ckb.fph from bgdb,ckb,pbasic where bgdb.bgdh = ckb.bgdh and ckb.cpmc = pbasic.pmc and bgdb.scbh in (select distinct bgdb.scbh from bgdb where bgdb.bgdh = "&"'"&trim(rs12.fields(0))&"'),"&cn,3,1
      

  3.   

    Private Sub Command10_Click()
    Dim cnn As ADODB.Connection
    Dim rs As ADODB.Recordset
    Set cnn = New ADODB.Connection
    ' 引用 ODBC driver 建立连接.
    cnn.ConnectionString = "driver={SQL Server};" & _
    "server=dcser;uid=sa;pwd=;database=stxt"
    cnn.OpenadoConnection.Execute "Update Rs Set QQTS = 0"   请问这句要怎么改呢?
      

  4.   

    Private Sub Command10_Click()
    Dim cnn As ADODB.Connection
    Dim rs As ADODB.Recordset
    Set cnn = New ADODB.Connection
    ' 引用 ODBC driver 建立连接.
    cnn.ConnectionString = "driver={SQL Server};" & _
    "server=dcser;uid=sa;pwd=;database=stxt"
    cnn.OpenadoConnection.Execute "Update Rs Set QQTS = 0"   请问这句要怎么改呢?错误信息424  要求对象
      

  5.   

    ...bgdb.scbh in (select distinct bgdb.scbh from bgdb where bgdb.bgdh = '" & Trim(rs12.Fields(0)) & "')"
    这种表达多此一举
    rs11.Open "select T1.bgrq,T1.scbh,T1.bgdh,T2.cpmc,T2.cpsl,T3.pdw,T2.dj,T2.je,T2.bz,T2.fph from bgdb T1,ckb T2,pbasic T3 where T1.bgdh = T2.bgdh and T2.cpmc = T3.pmc and T1.bgdh = '" & Trim(rs12.Fields(0)) & "'", cn, 3, 1
    更希望
    rs11.Open "select T1.bgrq,T1.scbh,T1.bgdh,T2.cpmc,T2.cpsl,T3.pdw,T2.dj,T2.je,T2.bz,T2.fph from bgdb T1 inner join (ckb T2 inner join pbasic T3 on T2.cpmc = T3.pmc) on T1.bgdh = T2.bgdh where T1.bgdh = '" & Trim(rs12.Fields(0)) & "'", cn, 3, 1
      

  6.   

    to : 88391788(88391788) 
    最后一句改为 cn.Execute "Update Rs Set QQTS = 0"
      

  7.   

    我要的就是scbh .scbh是查询的必要条件之一.
    select distinct bgdb.scbh 这一句少不得的.
    大家帮帮忙吧!谢谢了!
      

  8.   

    dim txtsql as string
    txtsql="select bgdb.bgrq,bgdb.scbh,bgdb.bgdh,ckb.cpmc,ckb.cpsl,pbasic.pdw,ckb.dj,ckb.je,ckb.bz,ckb.fph from bgdb,ckb,pbasic where bgdb.bgdh = ckb.bgdh and ckb.cpmc = pbasic.pmc and (bgdb.scbh in (select distinct bgdb.scbh from bgdb where bgdb.bgdh = '" & 
    Trim(rs12.Fields(0)) & "'))"
    rsl1.open txtsql,cn,3,1
    试一下,不知行不行
      

  9.   

    建议你将SQL语句粘到Access的查询界面中调试。
    不妨先试子查询,通过后再试主查询。那里的错误提示比较具体。
      

  10.   

    rs11.Open "select bgdb.bgrq,bgdb.scbh,bgdb.bgdh,ckb.cpmc,ckb.cpsl,pbasic.pdw,ckb.dj,ckb.je,ckb.bz,ckb.fph from bgdb,ckb,pbasic where bgdb.bgdh = ckb.bgdh and ckb.cpmc = pbasic.pmc and bgdb.scbh in ((select distinct bgdb.scbh from bgdb where bgdb.bgdh = '" & Trim(rs12.Fields(0)) & "')", cn, 3, 1)
      

  11.   

    zhuxiaopeng(朱小朋)大哥,你这样是错的,最基本的语法错误.
    不过,还是谢谢你热心帮我.
      

  12.   

    你有没有试一下,看行不行。一般sql的错误是很好调试的。
      

  13.   

    把SQL语句改成用连接试试
    "select bgdb.bgrq,bgdb.scbh,bgdb.bgdh,ckb.cpmc,ckb.cpsl,pbasic.pdw,ckb.dj,ckb.je,ckb.bz,ckb.fph from bgdb inner join ckb on bgdb.bgdh = ckb.bgdh inner join pbasic  on   ckb.cpmc = pbasic.pmc where bgdb.scbh in (select distinct bgdb.scbh from bgdb where bgdb.bgdh = '" & Trim(rs12.Fields(0)) & "')"
      

  14.   

    我发表一下我的看法:
      rs11.Open "select bgdb.bgrq,bgdb.scbh,bgdb.bgdh,ckb.cpmc,ckb.cpsl,pbasic.pdw,ckb.dj,ckb.je,ckb.bz,ckb.fph from bgdb,ckb,pbasic where bgdb.bgdh = ckb.bgdh and ckb.cpmc = pbasic.pmc and bgdb.scbh in (select distinct bgdb.scbh from bgdb where bgdb.bgdh = '" & Trim(rs12.Fields(0)) & "')", cn, 3, 1你这语句中的语法并没错,但是你确定  bgdb.bgdh = ckb.bgdh and ckb.cpmc = pbasic.pmc  等子句中的字段类型是字符型、日期型、或返回值有空格等等情况吗?举例说:bgdb.bgdh = ckb.bgdh 中ckb.bgdh字段是字符或日期型或者ckb.bgdh的返回值中间有空格吗?如果是前两者,那么要加上单引号或#(即bgdb.bgdh = 'ckb.bgdh'或者bgdb.bgdh = #ckb.bgdh#),如果是后者,那么要加上两个中括号(即bgdb.bgdh = [ckb.bgdh]),另外为了避免出错最好所有的语句元素都加上中括号(当然中括号可以省略,但如果元素中间夹有空格时则不能省略,否则出错),这些只是我的建议,我刚学VB,很多不懂,还望各位大侠指教!!!
      

  15.   

    我可能错了,Sorry!!望各位大侠指教!!!!