Q&A

  • BatchMove 컴포넌트를 사용해서 소스테이블의 일부 field data만 다른 tabl
안녕하세요?

다름이 아니라 한 테이블에서 동적생성한 다른 테이블로 data를 복사하려고 합니다.

다만, 모든 field의 data가 아니고 일부 field의 data만 복사하려하는데요.



ex) 예로 들면



Table1의 Field -------->> Table2



학번 (Primary Index) Index까지 학번 (Promary Index)

이름 모두 동일한 학년 (Secondary Index)

학부 테이블 생성 성적

학년(Secondary Index)

주소

연락처

성적





테이블 전체(Index도 모두 동일한)를 복사하는 것은 어렵지 않은데,



with Table2 do begin

Active := False;

DatabaseName := 'STANDARD1';

TableName := Table1.TableName;

TableType := ttParadox;



FieldDefs.Assign(Table1.FieldDefs);

IndexDefs.Assign(Table1.IndexDefs);



CreateTable;

Active := True;

end;



with BatchMove do begin

Destination := Table2;

Mode := batCopy;

Source := Table1;

end; ..........



일부 항목의 data만 copy하려는데 잘 모르겠습니다.



방법을 좀 가르켜 주셨으면 합니다.

그럼....늘 행복하세요...^^* ♬~~





1  COMMENTS
  • Profile
    Hoon Reader 2000.08.07 09:37


    그런 방법은 방법론 자체가 좋지 못합니다.

    하나하나 Copy하는건 효율이 굉장히 떨어지죠.



    SQL 문을 사용하도록 하세요.

    어렵지 않으니 1시간만 투자하면 왠만하게 사용할 수 있을겁니다.

    고등학교에서 배우는 집합론보다 더 쉽습니다.



    질문의 해결은 Select 문을 사용하면 됩니다.



    'Select Field1, Field2, Field3 From StudentTable'



    처럼 하면됩니다.



    그리고 추가로 키가 174cm이상이 사람에 대해서만 카피하고 싶다면



    'Select Field1, Field2, Field3 From StudentTable Where Height > 174'와 같이 하면 됩니다.



    쉽죠?