我在delphi中建了這樣一個臨時表
c_peke的字段中有:r_vedo,r_vedo1,r_vedo2,r_vedo3,r_rate,r_rate1,r_rate2,r_rate3
代碼中的vedo即代表'r_vedox',rate代表'r_ratex'
with c_peke do
begin
 if (not FieldByName(vedo).IsNull) and (FieldValues['eke_qty']*FieldValues[rate]>0) then
  begin
    temp.Append;
    temp.FieldValues['bill']:=FieldValues['bill'];
    temp.FieldValues['invtcode']:=FieldValues['invtcode'];
    temp.FieldValues['invtname']:=FieldValues['invtname'];
    temp.FieldValues['invtunit']:=FieldValues['invtunit'];
    temp.FieldValues['eke_qty']:=FieldValues['eke_qty'];
    temp.FieldValues['r_vedo']:=FieldValues[vedo];
    temp.FieldValues['r_rate']:=FieldValues[rate];
    temp.Post;
  end;
end;
我現在要按r_vedo排序打印這個臨時表,還可以再排序嗎?要怎麼弄啊?
或者有其它更好的方法??
請各位高手指點指點一下!!!!!

解决方案 »

  1.   

    其它更好的方法是写SQL语句,,select * from tabel order by fields1 DESC
      

  2.   

    不是的.select * from tabel order by fields1 DESC只能是對記錄之間排序,不能用於記錄內部及記錄之間.
    我的c_peke表中的每一條記錄都有可能有四個部門(r_vedo,r_vedo1,r_vedo2,r_vedo3)的值.
    假如表c_peke中只有一條記錄的話,加到臨時表之後就有可能有幾條記錄了(要看c_peke的r_vedo,r_vedo1,r_vedo2,r_vedo3字段有幾個是有值的.臨時表temp中只有一個r_vedo字段,就相當於是拆分c_peke表中的記錄.)
      

  3.   

    怎麼建??
    我這個臨時表是在delphi中用clientdateset建的,那要怎麼建索引 呢?
      

  4.   

    在临时表中加个id的字段,你每次生成这个临时表时按ID递增的增加,这样你每次都order by id,顺序就可以了.