query1.last를 사용했는데요
제대로 작동하지 못할때가 많습니다.
어떨때는 제대로 자료를 찾고 또 못찾구....
다른 방법이 있을까요
일자별로 순번을 자동으로 되도록 하는 방법인데요
c/s환경입니다.
그러니까 해당 테이블에서 일자별로 검색해서 가장마지막 레코드에
+1 하는거요...
소스 검토해보시고요 문제점이 있는지 알려주시면
평생(????)은혜 잊지 않을께용~~~ 새해 복 마니마니 받으세요~~~
Try
with Query1, Query1.sql do
begin
Close;
Clear;
add(' SELECT * ');
add(' FROM tacbdm ');
add(' WHERE tacdate2 LIKE :A ');
add(' ORDER BY tac_code,tacdate2 ');
params[0].asstring :=MaskEdit5.Text;//일자
Open;
if Query1.Recordcount <> 0 then
begin
Query1.last;
tacnoch:=query1.fieldbyname('tac_no2').asstring;
Inccode := strtoint(copy(query1.fieldbyname('tac_no2').asstring,
9, 4));
taccode := MaskEdit5.text+format('%.4d',[inccode+1]);
end else
begin
Inccode := Strtoint('0000');
taccode := MaskEdit5.text+Format('%.4d',[Inccode+1]);
end;
end; //begin....end...
Except
Showmessage('자료를 open 할수없습니다.-종료합니다-');
end; //try except end...
> query1.last를 사용했는데요
> 제대로 작동하지 못할때가 많습니다.
> 어떨때는 제대로 자료를 찾고 또 못찾구....
> 다른 방법이 있을까요
> 일자별로 순번을 자동으로 되도록 하는 방법인데요
> c/s환경입니다.
>
> 그러니까 해당 테이블에서 일자별로 검색해서 가장마지막 레코드에
> +1 하는거요...
> 소스 검토해보시고요 문제점이 있는지 알려주시면
> 평생(????)은혜 잊지 않을께용~~~ 새해 복 마니마니 받으세요~~~
>
>
>
>
> Try
> with Query1, Query1.sql do
> begin
> Close;
> Clear;
> add(' SELECT * ');
> add(' FROM tacbdm ');
> add(' WHERE tacdate2 LIKE :A ');
> add(' ORDER BY tac_code,tacdate2 ');
> params[0].asstring :=MaskEdit5.Text;//일자
> Open;
>
> if Query1.Recordcount <> 0 then
> begin
> Query1.last;
> tacnoch:=query1.fieldbyname('tac_no2').asstring;
> Inccode := strtoint(copy(query1.fieldbyname('tac_no2').asstring,
> 9, 4));
> taccode := MaskEdit5.text+format('%.4d',[inccode+1]);
> end else
> begin
> Inccode := Strtoint('0000');
> taccode := MaskEdit5.text+Format('%.4d',[Inccode+1]);
> end;
> end; //begin....end...
>
> Except
> Showmessage('자료를 open 할수없습니다.-종료합니다-');
> end; //try except end...
* 이론...글쎄 ...
제가 order by를 잘못했습니다.
tac_no2로 했어야 했는데
결과값이 제대로 나오네요...
죄송합니다.