Locate 검색에서 단점이라고 할지 문제점이라고 해야 될지 모르겠지만,
뭔가 이상한게 있는것 같아서 이를 해결할 방법을 구하고자 합니다.
===============
호랑이
호박
사슴
늑대
호박죽
오리
호수
호박사탕
===============
라는 데이타를
sSchWord := '호박바'; 라고 검색어를 주고
Sql.add('Select * from Goods Order by GSNAME ASC');
Locate('GSNAME',sSchWord,[loPartialKey]);
로 코딩하여 검색을 할 경우.
----------------------
늑대
오리
사슴
호랑이
-> 호박
호박사탕
호박죽
----------------------
아래와 같이 정렬이 되고, '호박바'는 없지만, '호박' 이나 '호박사탕..은 있으니깐.
호박까지만 검색하여 '호박'에 포인터를 옮겨 놓고 싶은데,
문제는
'호박바'가 없다는 이유만으로 포인터가 '늑대'에 가 있게 됩니다.
---이를 보안하기 위해서 아래와 같은 코딩을 하였는데,
if Not(Locate('GSNAME',sSchWord,[loPartialKey])) then
Locate('GSNAME',Copy(sSchWord,1,2),[loPartialKey]);
---이러한 코딩은 '호박'에 커스가 가지 않고, '호랑이'에 커스가 가게 됩니다.
---뭔가 어색한것 같아서 혹, 이러한 문제를 해결 할 수있는 명령어가 있는가 싶어
---질문을 올리게 됩니다.