Q&A

  • Report내야 되는데,,,급해여~~도와주세여~~
DB그리드에서 두 필드를 더해서 hap에 넣어야 되는데

이런 에러메세지가 떠여~~~



Invalid variant type conversion.



이런 메세지는 머예여??

아래부분을 넣으면 에러가 뜨고 빼면 괜찮거든여~~~

틀린부분 수정좀 해주세여~~ 캄사캄사~~



procedure TForm1.Image5Click(Sender: TObject);

var sum : real;

begin

with table1 do

begin

try

first;

while not EOF do

begin

edit;

sum:=fieldbyname('jungkan').value + fieldbyname('gimal').value

+ fieldbyname('chulsuk').value + fieldbyname('report').value;

fieldbyname('hap').value:=sum;

UpdateRecord;

post;

next;

end;

except

cancel;

raise;

end;

end;

form2.Show;

end;

2  COMMENTS
  • Profile
    블랙봉 2001.06.04 20:02
    델초보 wrote:

    > DB그리드에서 두 필드를 더해서 hap에 넣어야 되는데

    > 이런 에러메세지가 떠여~~~

    >

    > Invalid variant type conversion.

    >

    > 이런 메세지는 머예여??

    > 아래부분을 넣으면 에러가 뜨고 빼면 괜찮거든여~~~

    > 틀린부분 수정좀 해주세여~~ 캄사캄사~~

    >

    > procedure TForm1.Image5Click(Sender: TObject);

    > var sum : real;

    > begin

    > with table1 do

    > begin

    > try

    > first;

    > while not EOF do

    > begin

    > edit;

    > sum:=fieldbyname('jungkan').value + fieldbyname('gimal').value

    > + fieldbyname('chulsuk').value + fieldbyname('report').value;

    > fieldbyname('hap').value:=sum;

    > UpdateRecord;

    > post;

    > next;

    > end;

    > except

    > cancel;

    > raise;

    > end;

    > end;

    > form2.Show;

    > end;



    TField.Value의 Type은 Variant입니다. 아마 더하는 값 중에 NULL인 게 있어서 그런것 같은데요.

    .AsFloat나 .AsInteger를 사용해 보시죠.

  • Profile
    초이 2001.06.04 20:01
    FieldByName('FieldName').Value 구문을 FieldByName('FieldName').AsInteger 와 같은 As 구문을 이용하여 타입명을 지정해 주세요~. Delphi에서의 ???.Value 구분은 Variant Type으로 이런 타입은 연산자를 적용해서 쓸 수 없어요...

    그럼 즐코...