假如 废品数字段为 f, 产品总数字段为 f_total,则:
query1.sql.clear;
query1.sql.add('select *,f/f_total as f_percent from yourtablename);
query1.open;返回的字段 f_percent就是你要的 废品率.加分!!!!!!!!!!!!!

解决方案 »

  1.   

    不能设置TDBGrid1的DataSource属性设为DataSource1。
      

  2.   

    双击query1; add all field
    再添加一个字段 废品率 设置为计算字段
    onCalcFields事件中
    query1.fields[2].asfloat:=query1.fields[0].asint2ger /query1.fields[1].asinteger;
    找些计算字段的资料看看
      

  3.   

    我的方法麻烦了,怎么忘了sql
      

  4.   

    同意nne998(上上下下左右左右BABA)
      

  5.   

    方法一:右键单击Query,选择FieldsEdit,然后在FieldsEdit中单击右键,选择NewField,设置Field的Type为Float,设置FieldType为Calculated,响应Query的OnCalcFields事件,在这个事件中你可以计算出废品率,置入DataSet.FieldByName('FieldName').Value中,这样就可以了。FieldName是你定义的计算字段的名称
    方法二:修改数据库,添加一个视图,增加一个计算字段,具体方法,不同的数据库是不一样的,请参考他们的帮助文件
      

  6.   

    用SQL或计算字段
    不过要判断产品数是否非0
      

  7.   

    同意nne998(上上下下左右左右BABA)的方法。
    1。先在DBGrid中数据库字段口加一条Column,其名称可以动态改变:
       比如DBGrid1.Columns[2].Title.Caption:='废品率';
    2。连接数据库,将DBGrid的数据源设为DataSource1。
    3。用SQL语句建立计算字段:
       select 废品数,产品数,废品数/产品数 废品率 from 表