- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
procedure TF_dvij.rg_sortClick(Sender: TObject);
var k :Integer;
s,str1,str2 :string;
fl :boolean;
begin
if G.Columns[9].Visible then
begin
fl := Q_dvij.Active ;
with Q_dvij do
begin
if fl then k := RecNo;
if rg_sort.ItemIndex=0 then s:='order by obd,gr,exped,grot'
else
if rg_sort.ItemIndex=1 then s:='order by exped,gr,obd,grot'
else
if rg_sort.ItemIndex=2 then s:='order by gr,vp,exped,obd,grot'
else
if rg_sort.ItemIndex=3 then s:='order by id_korr,exped,obd,gr,grot'
else
if rg_sort.ItemIndex=4 then s:='order by grot,gr,exped,obd'
else
s:='order by strn,obd,gr,exped,grot';
if rg_sort.ItemIndex=3 then
begin
str1 := 'select vp, id_korr,' ; //100
str2 := 'group by 1,2,3,4,5,6,7,8' //192
end
else
begin
str1 := 'select vp, max(id_korr) as id_korr,' ;
str2 := 'group by 1,3,4,5,6,7,8'
end ;
Active:=false;
SQL.Delete(100);
SQL.Insert(100, str1 );
SQL.Delete(192);
SQL.Insert(192, str2 );
SQL.Delete(262);
SQL.Insert(262, s);
Active:= fl;
if fl then RecNo := k;
G.Refresh;
end;
end;