var AField : string;
AMix,AF : Double;
c: integer;
begin
with SQLtmix2 do begin
close;
sql.clear;
sql.add('select * from Tmixdb');
sql.add('where t_titl= :p_titl and t_titm = :p_titm');
parambyname('p_titl').asstring := 'GRP';
parambyname('p_titm').asstring := 'GRP';
open;
AMix := 9999;
for c:= 4 to FieldCount - 1 do begin
AF := Fields[c].AsFloat;
if AF = 0 then AF := 9999; //필드값이 0 인것 제외하기위해..
if AF < AMix then begin
AField := UpperCase(Fields[c].FieldName); //필드명
AMix := Fields[c].asFloat; //가장작은값
end;
end;
end;
위처럼 하면 가장 작은 필드와 그 값을 알 수 있습니다.
제가 알고자 하는것은 순서대로 입니다.
여러 필드중 제일작은필드 2번째 작은필드,3번째 작은필드....
이렇게요.. 에궁 응용이 않되네요...
고수님들 한수 부탁드립니다.
감사합니다.
이걸 추가하면 필드값이 정렬이 됩니다.
sql.add('order by 필드명 desc'); 를 하면 반대로 정렬이 됩니다.
초보 wrote:
> var AField : string;
> AMix,AF : Double;
> c: integer;
> begin
> with SQLtmix2 do begin
> close;
> sql.clear;
> sql.add('select * from Tmixdb');
> sql.add('where t_titl= :p_titl and t_titm = :p_titm');
> parambyname('p_titl').asstring := 'GRP';
> parambyname('p_titm').asstring := 'GRP';
> open;
> AMix := 9999;
> for c:= 4 to FieldCount - 1 do begin
> AF := Fields[c].AsFloat;
> if AF = 0 then AF := 9999; //필드값이 0 인것 제외하기위해..
> if AF < AMix then begin
> AField := UpperCase(Fields[c].FieldName); //필드명
> AMix := Fields[c].asFloat; //가장작은값
> end;
> end;
> end;
>
> 위처럼 하면 가장 작은 필드와 그 값을 알 수 있습니다.
> 제가 알고자 하는것은 순서대로 입니다.
> 여러 필드중 제일작은필드 2번째 작은필드,3번째 작은필드....
> 이렇게요.. 에궁 응용이 않되네요...
> 고수님들 한수 부탁드립니다.
> 감사합니다.