Delphi Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
델파이 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
FreePascal/Lazarus
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
델마당
볼랜드포럼 광고 모집

델파이 Q&A
Delphi Programming Q&A
[430] [답변] ZEDKSEI4/DBGrid에서 값변경
yunjeong [ ] 2555 읽음    1997-12-25 09:32
음...
질문하신 내용이 좀 이해가 안되네요...
DBGrid에서 작업을 하신다고 하셨는데...
어떻게 하나의 Input을 변경 했을 때...
아래 레코드의 값도 변할 수 있는지요...
그 부분이 좀 이해가 안 되네요...
제 이해력이 좀 떨어져스리...
암튼...
원하시는 것이 수입과 지출 필드의 값이 변하면
자동으로 잔액 필드의 값이 변하길 원하시는것으로
알고 답변 드리죠...
간단히 이렇게 해 보세요...
Table을 더블 클릭 하시면 필드를 추가하는
창이 하나 뜨게 됩니다. 거기서 오른쪽
버튼을 클릭 하시면 New Field란 것이 있죠.
거기에 원하는 아무 이름으로나 필드를 하나
만드세요. 정수값이니깐... Type은 Integer로
하셔야 겠죠? 그 담에...
Field Type은 반드시 Calculated로 하시구요.
그렇게 하신담에 확인을 하시면...
필드가 하나 추가 되었을 겁니다.
이건 물리적인 필드가 아니구... 계산만으르
전문으로 하는 가상 필드죠...
이곳에 원하시는 값을 넣으면 되는데요...
Table의 OnCalcFields라는 이벤트에다가...
아래와 같이 코딩하세요...
여기서 Input은 수입 필드고요, Ouput은 지출 필드...
Janaek은 방금 만든 CalcField 입니다.

procedure TForm1.Table1CalcFields(DataSet: TDataSet);
begin
Table1.FieldByName('Jan').AsInteger :=
                                   Table1.FieldByName('Input').AsInteger -
                                   Table1.FieldByName('Output').AsInteger;
end;

요렇게 하시면... 입금과 출금에 값을 입력하기만 하면...
자동으로 그 잔액이 계산되어서 출력 될겁니다.
글구... 그 담에 궁금하시다고 하시내용은요... 이해가 안가서...
원하는 필드로 바로 이동하시고자 하시는 것으로 생각하고...
만약에 Table에서 15번째 레코드로 이동하고 싶다면...
DbiSetToSeqNo(Table1.Handle, 15);
Table1.Resync([]);
이렇게 해주시면 되죠... 참! Uses 구문에 반드시 BDE 추가 해
주시구요.
그럼...


+ -

관련 글 리스트
430 [답변] ZEDKSEI4/DBGrid에서 값변경 yunjeong 2555 1997/12/25
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.