我使用adodc控件,用
Adodc1.CommandType = adCmdText
Adodc1.RecordSource = "select * from 检测台上传数据 where 主机编号='" + Combo7.Text + "'"
Adodc1.Refresh
这样的查询语句,然后我用DataGrid控件显示绑定adodc控件查询后的内容。]
但是我现在想用MSFlexGrid显示我数据库里边的内容,但是如果我还用上边的查询语句怎么能让MSFlexGrid也能显示我查询后的内容阿?

解决方案 »

  1.   

    用MSHFlexGrid
      

  2.   

    使用MSHFlexGried
    使用ADO对象
    将查询出来的记录集填写入MSHFlexGried即可。
      

  3.   

    我昨天给你的那个代码啊,你只需要把你的查询语句带入即可得到查询结果,然后将查询结果通过MSHFlexGried的AddItem方法填写即可
      

  4.   

    新手,支持一下,如果还有问题,找我
    http://topic.csdn.net/u/20090703/00/28b25c6d-08a9-4ea3-95d1-967d8d12dccf.html?29643
      

  5.   

    就这样,比如
    dim data as new ADODB.connection
    dim kk as new ADODB.recordset
    kk.open "select * from 检测台上传数据 where 主机编号='" + Combo7.Text + "'" ,data,openkeyset
    mshf1.datasource = kk
      

  6.   

    Data控件使用MSFlexgrid控件
    adodc控件使用MSHFlexgrid控件
      

  7.   

    哦。我现在去看看,我还想问下,如果我想把查询出来的数据转成Excel,这可以实现吗,怎么实现。我现在用MSFlexGrid转成Excel后,里边的数据是我数据库全部的数据。这样不是我查询的也多了,这样不方便啊!
      

  8.   

    xlsheet.Range("a2").CopyFromRecordset rs
      

  9.   

        strconn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & ThisWorkbook.Path & "\date.mdb"
        conn.CursorLocation = adUseClient
        conn.Open strconn
        rs.Open "select * from t2", conn, adOpenDynamic, adLockOptimistic
        If rs.RecordCount > 0 Then
          xlsheet.Range("a17").CopyFromRecordset rs
        End If
      

  10.   

    感谢朋友们帮忙,我刚试了下,可以用MSHFlexgrid把我需要的数据转成Excel了。但是我想能不能再转成Excel时把Excel设成只读的,就是只能打开看,不能对里边的数据更改。
    再次感谢大家帮忙。
    对了,MSHFlexgrid控件在显示数据的时候最左边的一栏里边是不显示数据的,有点难看,能不能改一下啊。还有我发现MSHFlexgrid控件显示日期的时候是日/月/年这么显示的,能不能改成年/月/日这么显示阿?
      

  11.   

    MSHFlexgrid的最左边一栏不显示数据,你可以在进行列字段宽度设定的时候把它设为0,不就好了
    with MSHFlexGrid1
       .ColWidth(0)=0
       ......
    end with
      

  12.   

    这个已经在属性里解决了,就是显示日期的时候是日/月/年这么显示的,能不能改成年/月/日这么显示还不知道。还有就是看看VB成生Excel表格时能不能直接生成成只读的。只能看不能改的。