先关闭,再打开
If DataEnvironment1.rsCommand1.State = adStateOpen Then
 DataEnvironment1.rsCommand1.Close
End If
DataEnvironment1.rsCommand1.open

解决方案 »

  1.   

    我试了,仍然不行,现将部分代码贴出来,请看一下:DataEv1.rsCmdDstmp.Open
    for i=1 to 100              '加入100条新记录
    DataEv1.rsCmdDstmp.AddNew
    DataEv1.rsCmdDstmp("No") =i
    DataEv1.rsCmdDstmp.Update
    NextIf DataEv1.rsCmdDstmp.State = adStateOpen Then
    DataEv1.rsCmdDstmp.Close
    End If
    DataEv1.rsCmdDstmp.OpenMShflexgrid1.Refresh
    (为何加入的100条新记录在MSFLEXGRID未显示出来?)
      

  2.   


      DataEv1.rsCmdDstmp.State = adStateOpen ?
      确认 DataEv1.rsCmdDstmp.Close?
      

  3.   

    没有用的,唯一的办法是先把数据源关闭后再打开,然后再重新装载mshflexgrid就行了,我编程就是这样做的,成功了!我提醒那位老兄,不是刷新mshflexgrid,而是重新装载mshflexgrid!明白我的意思吗?
      

  4.   

    MSHFlexGrid很好用呀,最好直接绑定ADO记录集而不用ADODC控件,而且它支持记录的过滤,当然如果其他人修改了记录,你必须刷新记录集才可以正常显示。
    基本用法set MSHFlexGrid1.recordset=adodb