쿼리컴포넌트를 썼습니다.
그리고 4개의 필드가 있고 가상의 2개의 필드를 더 만들어서 DB그리드에 뿌리구요. 오픈한후에...
기존에 있는 4개의 필드중 2개씩 연산을 해서 가상의 필드에 넣으려고 합니다.
필드에 넣으려면 에디트 상태가 되어야 하니까 그렇게 만들고 연산후 넣으려고 하니까 에디트 상태가 아니라는데 어떻게 해야할지...
이게 안되면 다음 그 수많은 작업들이 한개도 안되거든요...
답 부탁드립니다...
이해를 돕기 위해 간단한 소스를 보내드립니다.
꼭 알려주셔야 되요...알았져?
//====================================================================
with 쿼리컴포넌트 do begin
close;
sql.clear;
sql.add('SELECT BON 측점본번, L_DIST 구간거리, ');
sql.add('C_FLOOD 계획홍수량, C_EL 계획홍수위, ');
sql.Add('''AA'' 여유고기준'); //----가상필드
sql.add('FROM HYD_PLAN');
open;
edit;
while not EOF do begin
c_Flood := FieldByName('계획홍수량').AsFloat;
if c_Flood <200 then
FieldByName('여유고기준').AsFloat := 0.6
else if (200 <= c_Flood) and (c_Flood < 500) then
FieldByName('여유고기준').AsFloat := 0.8
else if (500 <= c_Flood) and (c_Flood < 2000) then
FieldByName('여유고기준').AsFloat := 1.0
else if (2000 <= c_Flood) and (c_Flood < 5000) then
FieldByName('여유고기준').AsFloat := 1.2
else if (5000 <= c_Flood) and (c_Flood < 10000) then
FieldByName('여유고기준').AsFloat := 1.5
else
FieldByName('여유고기준').AsFloat := 2.0;
next;
end;
end;
//===============================================================
이렇게 하는거 아닌가여?
부탁드립니다.
그럼 수고하세요...
> 쿼리컴포넌트를 썼습니다.
> 그리고 4개의 필드가 있고 가상의 2개의 필드를 더 만들어서 DB그리드에 뿌리구요. 오픈한후에...
> 기존에 있는 4개의 필드중 2개씩 연산을 해서 가상의 필드에 넣으려고 합니다.
> 필드에 넣으려면 에디트 상태가 되어야 하니까 그렇게 만들고 연산후 넣으려고 하니까 에디트 상태가 아니라는데 어떻게 해야할지...
> 이게 안되면 다음 그 수많은 작업들이 한개도 안되거든요...
> 답 부탁드립니다...
> 이해를 돕기 위해 간단한 소스를 보내드립니다.
> 꼭 알려주셔야 되요...알았져?
> //====================================================================
> with 쿼리컴포넌트 do begin
> close;
> sql.clear;
> sql.add('SELECT BON 측점본번, L_DIST 구간거리, ');
> sql.add('C_FLOOD 계획홍수량, C_EL 계획홍수위, ');
> sql.Add('''AA'' 여유고기준'); //----가상필드
> sql.add('FROM HYD_PLAN');
> open;
> edit;
> while not EOF do begin
> c_Flood := FieldByName('계획홍수량').AsFloat;
> if c_Flood <200 then
> FieldByName('여유고기준').AsFloat := 0.6
> else if (200 <= c_Flood) and (c_Flood < 500) then
> FieldByName('여유고기준').AsFloat := 0.8
> else if (500 <= c_Flood) and (c_Flood < 2000) then
> FieldByName('여유고기준').AsFloat := 1.0
> else if (2000 <= c_Flood) and (c_Flood < 5000) then
> FieldByName('여유고기준').AsFloat := 1.2
> else if (5000 <= c_Flood) and (c_Flood < 10000) then
> FieldByName('여유고기준').AsFloat := 1.5
> else
> FieldByName('여유고기준').AsFloat := 2.0;
> next;
> end;
> end;
> //===============================================================
> 이렇게 하는거 아닌가여?
> 부탁드립니다.
> 그럼 수고하세요...
==================================================================================
계획홍수량으로 여우고기준을 정하는군요..그렇다면.
CalcField를 사용하세요
내일까지 해결이 안되면 소스를 보내주시던가 아니면 메일주시면
대충예제같은걸 만들어보내드리져 그럼
Calc필드에대한걸 검색해서 읽어보세요 의외로 간단합니다.