哦,我看到lin.929.un1.csdn众高手了,帮帮我。多谢多谢!!!

解决方案 »

  1.   

    这是MSDN的ADO教程部分:Public Sub main()Dim conn As New ADODB.Connection
    Dim cmd As New ADODB.Command
    Dim rs As New ADODB.Recordset
    ' 步骤 1,创建一个数据连接
    conn.Open "DSN=pubs;uid=sa;pwd=;database=pubs"
    ' 步骤 2,设置数据命令
    Set cmd.ActiveConnection = conn
    cmd.CommandText = "SELECT * from authors"
    ' 步骤 3,打开数据
    rs.CursorLocation = adUseClient
    rs.Open cmd, , adOpenStatic, adLockBatchOptimistic' 步骤 4,内容可选,看你的需要
    rs!au_lname.Properties("Optimize") = True
    rs.Sort = "au_lname"
    rs.Filter = "phone LIKE '415 5*'"
    rs.MoveFirst
    Do While Not rs.EOF
        Debug.Print "Name: " & rs!au_fname & " "; rs!au_lname & _
            "Phone: "; rs!phone & vbCr
        rs!phone = "777" & Mid(rs!phone, 5, 11)
        rs.MoveNext    ’可以再此把字段加入到Combox
        Combo1.AddItem rs("au_fname")LoopEnd Sub
      

  2.   

    关于问题1。我是
    for i = data1.recordset.bof to data1.recordset.eof
        combo1.additem (i)
    next
    但VB提示data1.recordset未说明,能指点我吗?
      

  3.   

    关于问题2。我是在form_load中设
    adodc.recordsource="select * from table"
    然后我想再次查询,sql语句为"select count(A),sum(B) from table
    where X=X group by C",但msHflexgrid不能显示(或者是adodc出错?)
    另不能用“with club"这种sql语法
      

  4.   

    观于你最后的提问,可能这个对你 有点用:
    一、用做MSHFLEXGRID的数据源的记录集不能用ADODB.RECORDSET,而是要这样写才行:
      Dim rs as ADODB.Recordset  set rs=new recordset    '注意,这里不能加ADODB.这样的限定,一定要象这样写
      rs.cursorlocation=adUseClient
      rs.cursortype=adreadonly
      rs.locktype=addynamic二、您的SQL语句写得好象有点问题,反正我是看不懂里面那句X=X的WHERE子句是干什么用的,还有COUNT(A)是不是应该写成COUNT(C)或者干脆就是COUNT(*)三、如果你用的是SQL SERVER的数据库,那么WITH CUBE肯定是可以用的,ACCESS就不清楚了,请你自己查一下在线帮助。但是用了以后会在统计行里出现NULL值,所以不能直接用做MSHFLEXGIRD的数据源,否则会出现“非法使用NULL值”的错误,要使用ISNULL()函数先将那些NULL值变成有效的数据才能绑定到网格里面去。