小弟有两个表如下
cs_info:
  cname  cbir cwork cdan ctel
cs_ding
  ctel   cctel cliwu检索这两个表中CTEL相同的字段求SQL语句怎么应用在MSFLEXGRID语句中~~Do While Not rct.EOF
    With MSF2
      .AddItem ""
      .Row = 1
      .Col = 0: .Text = rct!cname
      .Col = 1: .Text = rct!cbir
      .Col = 2: .Text = rct!cwork
      .Col = 3: .Text = rct!cdan
      .Col = 4:  .Text = rct!b.cdtime
      .Col = 5: .Text = rct!cctel
      .Col = 6: .Text = rct!cliwu
      rct.MoveNext
    End With
.text  中 应该怎么样写~~
请给位高手帮办小弟~~~

解决方案 »

  1.   

    connectSQL
      strsql = "select a.cname,a.cbir,a.cwork,a.cdan,b.cdtime,b.cctel,b.cliwu from cs_info a left join cs_ding b on a.ctel=b.ctel":
      If runsql(strsql) = True Then
         
         rct.MoveFirst
         
      End If
      
      Do While Not rct.EOF
        With MSF2
          .AddItem ""
          .Row = 1
          .Col = 0: .Text = rct!cname
          .Col = 1: .Text = rct!cbir
          .Col = 2: .Text = rct!cwork
          .Col = 3: .Text = rct!cdan
          .Col = 4:  .Text = rct!cdtime
          .Col = 5: .Text = rct!cctel
          .Col = 6: .Text = rct!cliwu
          rct.MoveNext
        End With
        
      Loop
    这样写不对~~~~~~~~~~~~
    下面那业写也不对 (加上了B.)
    strsql = "select a.cname,a.cbir,a.cwork,a.cdan,b.cdtime,b.cctel,b.cliwu from cs_info a left join cs_ding b on a.ctel=b.ctel":
      If runsql(strsql) = True Then
         
         rct.MoveFirst
         
      End If
      
      Do While Not rct.EOF
        With MSF2
          .AddItem ""
          .Row = 1
          .Col = 0: .Text = rct!cname
          .Col = 1: .Text = rct!cbir
          .Col = 2: .Text = rct!cwork
          .Col = 3: .Text = rct!cdan
          '.Col = 4:  .Text = rct!b.cdtime
          .Col = 5: .Text = rct!b.cctel
          .Col = 6: .Text = rct!cliwu
          rct.MoveNext
        End With
        
      Loop
    到底怎么样才队???
      

  2.   

    这样写:
    dim c as adodb.recordset
    db.connectstring=connectstr '数据库连接字符串
    db.open '打开数据库
    sqlstr="select ...... from .... where ..=.."
    'select 可以直接从多个表内选取满足条件的字段
    c.open sqlsre,db,1,3   '按上面的SQL语句得到一个记录集
    '然后就可以直接对c进行操作了.一条一条记录读出来,写到grid中去.
      

  3.   

    另:
    因为已经将需要的字段和记录都存放在了一个记录集中了,GRID的赋值也很简单,只要用2次循环就解决了:dim x as long 
    dim y as long 
    c.movelast
    c.movefirst  '只是为了得到记录集的记录数量而已
    grid.rows=c.fields.count+1
    grid.cols=c.recordcount
    grid.formatstring="|^字段名1|^字段名2..." '这个自己写吧
    for y=0 to c.recordcount-1
        for x=0 to c.fields.count-1
            grid.textmatrix(y,x)=c.fields(x).value & ""
        next
        c.movenext
    next基本上就是这样的,次段程序其实是独立于数据库结构的,或许会有点小错误,是由于grid的固定行和固定列的设置不同引起的,很容易解决.楼主自己调试一下吧
      

  4.   

    for y=0 to c.recordcount-1
        for x=0 to c.fields.count-1 你的这两句话能结实以下什么意思~吗???~~
      

  5.   


    晕,这么简单的问题
    connectSQL
      strsql = "select a.cname,a.cbir,a.cwork,a.cdan,b.cdtime,b.cctel,b.cliwu from cs_info a left join cs_ding b on a.ctel=b.ctel":
      If runsql(strsql) = True Then
         
         rct.MoveFirst
         
      End If
      
    set MSF2.recordset=rct
          .AddItem ""
          .Row = 1
          .Col = 0: .Text = rct!cname
          .Col = 1: .Text = rct!cbir
          .Col = 2: .Text = rct!cwork
          .Col = 3: .Text = rct!cdan
          .Col = 4:  .Text = rct!cdtime
          .Col = 5: .Text = rct!cctel
          .Col = 6: .Text = rct!cliwu
          rct.MoveNext
        End With
        
      Loop
    这样写不对~~~~~~~~~~~~
    下面那业写也不对 (加上了B.)
    strsql = "select a.cname,a.cbir,a.cwork,a.cdan,b.cdtime,b.cctel,b.cliwu from cs_info a left join cs_ding b on a.ctel=b.ctel":
      If runsql(strsql) = True Then
         
         rct.MoveFirst
         
      End If
      
      Do While Not rct.EOF
        With MSF2
          .AddItem ""
          .Row = 1
          .Col = 0: .Text = rct!cname
          .Col = 1: .Text = rct!cbir
          .Col = 2: .Text = rct!cwork
          .Col = 3: .Text = rct!cdan
          '.Col = 4:  .Text = rct!b.cdtime
          .Col = 5: .Text = rct!b.cctel
          .Col = 6: .Text = rct!cliwu
          rct.MoveNext
        End With
        
      Loop
      

  6.   

    不好意思,上面点错发送了
    connectSQL
      strsql = "select a.cname,a.cbir,a.cwork,a.cdan,b.cdtime,b.cctel,b.cliwu from cs_info a left join cs_ding b on a.ctel=b.ctel":
      If runsql(strsql) = True Then
         
         rct.MoveFirst
         
      End If
      
    set MSF2.recordset=rct
      

  7.   

    如果觉得数据倒入慢的话,可以设置
    .Redraw = False
    Set .Recordset = rstTemp
    .Redraw = True
      

  8.   

    你上面的代码有一个问题,就是在这句.Row = 1 添加来添加去就是给第一行添加了