물건을 빌려주고 반납된것과 미반납된것을 조회하기위한 코딩을 하려합니다.
다음...
procedure Tbanapsch.banap_btnClick(Sender: TObject);
begin
with statu_qry do
begin
close;
sql.Clear;
sql.add('select b.swname, b.serial, d.divdate,r.redate, de.name, e.name')
sql.add('from buy b, divstate d, return r, dept de, emp e');
sql.add('where r.buy_code = b.code);
sql.add('and r.dept_code = de.code);
sql.add('and r.emp_code = e.code);
sql.add('and r.divstate_code = d.code);
open;
end;
end;
procedure Tbanapsch.miss_btnClick(Sender: TObject);
begin
if (divstate.buy_code <> '') and (return.buy_code <> '') then
showmessage('미반납 내역이 없습니다.');
if (divstate.buy_code = '') and (return.buy_code <> '') then
showmessage('배부내역 또는 미반납 내역이 없습니다.')
else
with statu_qry do
begin
close;
sql.Clear;
sql.add('select b.swname, b.serial, d.divdate,r.redate, de.name, e.name')
sql.add('from buy b, divstate d, return r, dept de, emp e');
sql.add('where r.buy_code = b.code);
sql.add('and r.dept_code = de.code);
sql.add('and r.emp_code = e.code);
sql.add('and r.divstate_code = d.code);
open;
end;
end;
이렇게 하면 되는지..
왠지
if (divstate.buy_code <> '') and (return.buy_code <> '') then
showmessage('미반납 내역이 없습니다.');
if (divstate.buy_code = '') and (return.buy_code <> '') then
showmessage('배부내역 또는 미반납 내역이 없습니다.')
이부분이 의심적습니다.
초보자라 어쩔수가 없군요.
잘하시는 분 아무나 빨리 알려주시기 바랍니다.
않는군요. 그러므로 비교를 할 수도 없을 것이고 아마도 실행 중에 예외가
발생할 것으로 보이는데 맞는지요.
그리고 divstate.buy_code라든지 return.buy_code과 같은 표현은
SQL문 내에서만 유효합니다. 올려주신 코드만으로는 어떠한 선언도 없이
divstate나 return과 같은 개체를 사용한 것으로 보이기 때문에,
역시 이에 의한 에러가 발생할 것으로 보입니다.
===============================================================
정수현 wrote:
> 물건을 빌려주고 반납된것과 미반납된것을 조회하기위한 코딩을 하려합니다.
> 다음...
>
>
> procedure Tbanapsch.banap_btnClick(Sender: TObject);
> begin
> with statu_qry do
> begin
> close;
> sql.Clear;
> sql.add('select b.swname, b.serial, d.divdate,r.redate, de.name, e.name')
> sql.add('from buy b, divstate d, return r, dept de, emp e');
> sql.add('where r.buy_code = b.code);
> sql.add('and r.dept_code = de.code);
> sql.add('and r.emp_code = e.code);
> sql.add('and r.divstate_code = d.code);
> open;
> end;
> end;
>
> procedure Tbanapsch.miss_btnClick(Sender: TObject);
> begin
> if (divstate.buy_code <> '') and (return.buy_code <> '') then
> showmessage('미반납 내역이 없습니다.');
> if (divstate.buy_code = '') and (return.buy_code <> '') then
> showmessage('배부내역 또는 미반납 내역이 없습니다.')
> else
> with statu_qry do
> begin
> close;
> sql.Clear;
> sql.add('select b.swname, b.serial, d.divdate,r.redate, de.name, e.name')
> sql.add('from buy b, divstate d, return r, dept de, emp e');
> sql.add('where r.buy_code = b.code);
> sql.add('and r.dept_code = de.code);
> sql.add('and r.emp_code = e.code);
> sql.add('and r.divstate_code = d.code);
> open;
> end;
> end;
>
>
> 이렇게 하면 되는지..
> 왠지
>
> if (divstate.buy_code <> '') and (return.buy_code <> '') then
> showmessage('미반납 내역이 없습니다.');
> if (divstate.buy_code = '') and (return.buy_code <> '') then
> showmessage('배부내역 또는 미반납 내역이 없습니다.')
> 이부분이 의심적습니다.
> 초보자라 어쩔수가 없군요.
> 잘하시는 분 아무나 빨리 알려주시기 바랍니다.
>