상단에 쿼리로 일반적인 코드(숫자)로 검색을 해서 order by 에서 코드순으로 정렬을 하엿습니다.
그런데 아래의 소스를 보시면 받아온 검색결과값으로 재가공을 하여서 다시 정렬을 하는 소스입니다.
-----------------------------------------------------------------------------------
Dim arrCode, numCnt2 '변수 선언
arrCode = 상단에서 선택한
numCnt2 = ubound(arrList,2)
redim temp(numCnt2)
for i=0 to Ubound(arrList) step 1
for j=i+1 to Ubound(arrList) step 1
if arrCode = arrList(j, 9) then
for mk = 0 to 18
temp(mk) = arrList(j,mk)
arrList(j,mk) = arrList(i,mk)
arrList(i,mk) = temp(mk)
next
end if
next
next
------------------------------------------------------------------------------------
위의 소스에서 보시면 arrCode에 실제로 선택한 코드를 먼저 제일상단으로 올리기 위해 변수를 지정한것입니다.
예로 코드번호가 010(상품1), 123(상품2), 005(상품2), 009(상품1)가 있다고 지정하고
상단에 010코드를 선택하면 검색이 되는것이 010, 123, 005, 009가 함께 검색이 되게 쿼리문으로 되어 있습니다.
select * .....생략
where bCode in ('010','123','005','009')
order by bCode
위에서 검색을 진행했을때 상단에 있는 for ~ next문에서 다시 한번 정렬하여서 출력을 할때
1. 010(상품1)
2. 009(상품1)
3. 123(상품2)
4. 005(상품2)
위의 순서대로 출력을 하고 싶습니다.
한번가공은 되었는데 두번가공은 쉽지가 않네요...
-P.S: 추가내용
더욱더 자세하게 글을 남겨야 하는데 글실력이 없어서 죄송합니다.
for~next문으로 정렬을 한것은 최초에 선택한 010코드를 제알상단에 올리기 위해서 정렬을 한것입니다. 기본이 쿼리에서 bCode로 정렬이 되어있다보니 실제로 쿼리에서 검색정렬이 되는 것은 005, 009, 010, 123순으로 나타나기 때문에 최초에 선택한 010을 제일위로 올리고 나머지중에서 순서 상품1은 1끼리 상품2는 2끼리 묶고 싶은것입니다. 결과값이 010, 009, 123, 005순으로 하고 싶은것입니다.