窗体有DataGrid1、Adodc1、Command6控件。
Private Sub Command6_Click()If DataGrid1.Columns(5).Text = "讲师" Then DataGrid1.Columns(6).Text = 300 + 100
DataGrid1.Columns(9).Text= Val(DataGrid1.Columns(6).Text) + Val(DataGrid1.Columns(7).Text) + Val(DataGrid1.Columns(8).Text)
DataGrid1.Columns(13).Text=Val(DataGrid1.Columns(9).Text)-Val(DataGrid1.Columns(12).Text)-Val(DataGrid1.Columns(11).Text)- Val(DataGrid1.Columns(10).Text)   
   
End Sub我这样做只是更新了当前的第一条记录。
请教如何才能让它更新了当前的第一条记录后,继续更新下一条记录?直到最后一条为止。

解决方案 »

  1.   

    这样只是给当前记录的字段赋值。要更新,可用recordset.update方法
    要批量更新,可把记录集的锁定类型改为4-开放式批处理。
    移动记录指针,用recordset.move、recordset.movenext等,字段赋值完成后,用recordset.updatebatch方法批量更新。
      

  2.   

    If trim(DataGrid1.Columns(5).Text) = "讲师" Then DataGrid1.Columns(6).Text = 300
      

  3.   

    这样只是给当前记录的字段赋值。要更新,可用recordset.update方法
    要批量更新,可把记录集的锁定类型改为4-开放式批处理。
    移动记录指针,用recordset.move、recordset.movenext等,字段赋值完成后,用recordset.updatebatch方法批量更新。
      

  4.   

    wamlaw(象草一样不能自拔):你啥意思?
      

  5.   

    窗体有DataGrid1、Adodc1、Command6控件。
    Private Sub Command6_Click()If DataGrid1.Columns(5).Text = "讲师" Then DataGrid1.Columns(6).Text = 300 + 100
    DataGrid1.Columns(9).Text= Val(DataGrid1.Columns(6).Text) + Val(DataGrid1.Columns(7).Text) + Val(DataGrid1.Columns(8).Text)
    DataGrid1.Columns(13).Text=Val(DataGrid1.Columns(9).Text)-Val(DataGrid1.Columns(12).Text)-Val(DataGrid1.Columns(11).Text)- Val(DataGrid1.Columns(10).Text)   Adodc1.Recordset.MoveNext
    Adodc1.Recordset.UpdateBatch adAffectAll
     
    End Sub只是更新了前二条记录。还是没有更新到最后一条记录呀。
      

  6.   

    with adodc1.recordset
      if .recordcount>0 then
        .movefirst
        do until .eof
           字段赋值语句
           .movenext
        loop
        .updatebatch
      end if
    end with
      

  7.   

    我已经给了100分victorycyz(中海) ,为什么在贴子还是:2003-4-24 16:58:23  得分:0 ?