在BUTTON的ONClick事件里有
with Query1 do
   begin
    if Active then Close;
    sql.Clear;
    sql.Add(' select * from wageinfo_'+organRec.Organid);
    sql.Add(' where wage_date=:wagedate');
    parambyname('wagedate').asinteger:=strtoint(Copy(EnterCoolEdit2.Text,1,6));
    open;
这么一段程序,按理当QUERY1打开后会触发Query1CalcFields事件,可程序怎么也不会去执行Query1CalcFields下的代码,用断点运行,也不会到Query1CalcFields下的任何代码处,不知道是为什么。助:QUERY1的AutoCalcFields已经设为TRUE了!!!

解决方案 »

  1.   

    Occurs when an application recalculates calculated fields.
    当一个应用程序重新计算计算字段时发生。
      

  2.   

    onCalcFields是对于计算字段而言的,你的query中可能没有计算字段,如果有的话每次打开数据集就会触发Query1CalcFields事件,
    如果你想让代码在数据集打开后执行的话,应该在afteropen事件中写
      

  3.   

    Occurs when an application recalculates calculated fields.
      

  4.   

    什么是计算字段,不大懂,是指QUERY里新建的字段吗