mdb를 쓰구요...
일련번호는 access에서 일련번호로 해났어요..
추가(button1)를 누르면 edit1에 자동으로 들어가는 거용...
아래것은 증가가 되나,, 메세지 창에 보이게 한건데... 이것역시 에러에요..
----------------------------
var
max_serial:integer;
with Query1 do
begin
close;
sql.Clear;
SQL.Text:='select max(일련번호) from 인적사항';
//sql.add('select max(일련번호) from 인적사항'); ....요러게 해도 안되용..
Open;
max_serial := FieldByName('일련번호').AsInteger + 1;
:
-------------------
위에 것처럼 하면 에러가 나용...'일련번호'를 찾을수 없다구해용...
table은 '인적사항' field는 '일련번호'
참 그리구, 정확한 코딩으로 증가하는 방법도 알려주시면 공부에 도움에
될것같네요...
감사합니다.
> mdb를 쓰구요...
> 일련번호는 access에서 일련번호로 해났어요..
>
> 추가(button1)를 누르면 edit1에 자동으로 들어가는 거용...
>
> 아래것은 증가가 되나,, 메세지 창에 보이게 한건데... 이것역시 에러에요..
> ----------------------------
> var
> max_serial:integer;
>
> with Query1 do
> begin
> close;
> sql.Clear;
> SQL.Text:='select max(일련번호) from 인적사항';
> //sql.add('select max(일련번호) from 인적사항'); ....요러게 해도 안되용..
>
> Open;
>
> max_serial := FieldByName('일련번호').AsInteger + 1;
> :
> -------------------
> 위에 것처럼 하면 에러가 나용...'일련번호'를 찾을수 없다구해용...
> table은 '인적사항' field는 '일련번호'
>
> 참 그리구, 정확한 코딩으로 증가하는 방법도 알려주시면 공부에 도움에
> 될것같네요...
>
> 감사합니다.
>
>
========================================================================
답변이 될지 몰겠네요..
코딩으로 자동증가 할때 제가 쓰는 방법은요..
위에서 처럼
procedrue TForm1.Table1AfterInsert(DataSet: TDataSet);
var
max_id : Integer;
begin
query1.close;
query1.sql.clear;
query1.sql.add('select max(순번을 가지는 필드명) as max_idfrom 테이블명');
query1.open;
max_id := query1.fieldbyname('max_id').asInteger + 1;
end;
이케 Insert 후에 바루 이벤트를 일으키면 되는데..제가 알기론 mdb에서
필드 속성중에 자동증가해주는 필드 속성이 있는 것으로 알거든요
그러면 굳이 afterInsert이벤드 사용을 아니해두 자동으로 증가하는거 아닌가여?