我用一个MSHFlexGrid控件、一个ADODC控件和COMBO控件实现数据显示的效果,
运行起来没有语法错误,就是不能刷新显示,COMBO控件的CLICK事件如下:(strSQL = "select * from 全部 where 球队名称 = 城堡")
Private Sub ComboQueue_Click()
    strQueName = " order by " + ComboQueue.Text + " DESC"    AdodcShow.RecordSource = strSQL + strQueName
    AdodcShow.Refresh
    MSHFlexGrid1.Refresh
End Sub各位请指点!

解决方案 »

  1.   


    for i=1 to msflexgrid.count-1next
      

  2.   

    只有一个MSHFlexGrid控件控件啊!楼上指的是什么呢?
      

  3.   

    把你的第一句改成如下:
    strSQL = "select * from 全部 where 球队名称= " & "城堡"
    请试试行不
      

  4.   

    houfuzhu(houfuzhu) :
         在程序中就是这样定义的strSQL,第一次选择COMBOBOX时能刷新,随后进行第二次的时候就不能了。
      

  5.   

    楼上说的意思是如果坚持用ADO的话就没办法了吗?
      

  6.   

    CHANGE事件也不行,程序在运行至CLICK和CHANGE事件时,能发现ADODC控件的SQL语句已经改变,也就是AdodcShow.RecordSource的属性发生了变化但是就是不见MSHFlexGrid控件刷新,尽管运行了以下两句:
        AdodcShow.Refresh
        MSHFlexGrid1.Refresh
    哭,大家帮忙呀!
      

  7.   

    MSHFlexGrid1.Refresh这句根本没用,要刷新需 Set Me.MSFlexGrid1.DataSource = 记录集
    MSHFlexGrid不是数据识别控件
      

  8.   

    Set MSFlexGrid1.DataSource =AdodcShow
      

  9.   

    还是手工刷新吧,
    for i=1 to flexgrid.rows-1 
       '这里一条记录一条记录增加.
    next i
      

  10.   

    我想是你的strsql的錯誤。
    strSQL =( "select * from 全部 where 球队名称 = "城堡"")
    好像又是:strSQL = "select * from 全部 where 球队名称 = '城堡'")
    你試試看是那種寫法吧!
      

  11.   

    strSQL = "select * from 全部 where 球队名称 = '城堡' "
      

  12.   

    SQL语句没看出有什么错误的,因为第一次就能刷新。