Table에서 Query의 사용은 속도를 처해시킵니다.
풀이>>
1. Table2의 Number라는 Field를 Primary또는 Secondary인덱스로 설정하고,
인덱스이름을 (예를들어 "Index-2") 로 준다.
== DataBaseDeskTop에서 하시면 너무 간단하겠죠.
2. Table2의 활성인덱스를 Number필드가 기준이되 인덱스로 선언한다.
== Table2의 프로퍼티중 IndexName에 (1)번에서 선언한 인덱스이름을 준다
= Table2.IndexName :='Index-2';
3. Table1의 Number로 Table2의 Number와 같은 record를 걸려내려면
-- 다름과 같이 원하는 procedure에 기입한다.
Table2.SetRange([Table1.FieldByName('Number').AsString],
[Table1.FieldByName('Number').AsString]);
if Table2.FindLast then ............
SetRange는 Table1의 Number와 같은 값을 가진 record를 Table2에서
범위를 묶고, FindLast는 범위의 record갯수가 0보다 크면 True값을
return하는가 동시에 마지작 record로 이동한다.
......원하는 답변에 되었으면......
|