Adodc.RecoredSource = SQL 
    Adodc.Refresh 
    DataGrid.ReBind 
    即可 
    建议: 
    1、ConnectionString 在 Form_Lond 中出现一次就够了。 
    2、最好用 CommandType = adcmdUnkown。 
    3、RecordSource = "Select 表名.字段名,表名.字段名...或 *(全部字段) From 表名 Where 字段名 = '" & 搜索条件(如:Text1) & "' Order By 字段名" order by 为排序 
    如: 
    "Select * From 商品价目表 Where 价格 = '" & Text1 & "' Order By 字段名" order by 序号" 
    "Select 序号,商品名称,价格 From 商品价目表 Where 价格 = '" & Text1 & "' Order By 字段名" order by 序号" 
    也可以用 Open 方法打开RecordSet对象,用于更新、删除、等操作 
    "Update 表明 Set 字段名 = 值 Where 条件" 
    4、学会 With .....End With。 
    5、当Set DataGrid.DataSource = Adodc后,应该 Refresh 的是 ADODC。 
    6、运用 DataGrid 的 ReBind 方法重新布局,我想你问题的关键也在此。 
<END>    
只需 Set DataGrid3.DataSource = Adodc5 一次。需要刷新Adoc5而不是DataGrid。 
<END>
你这样试一试: 
    1.在变换记录集之前，使用语句: set datagrid3.datasource=nothing; 
    2. ..... set datagrid3.datasource=adodc5 
    3.datagrid3.fresh 
<END>     
    