Global It Leader!!



 
 

VB ADO 레코드 검색 설명서

페이지 정보

작성자 no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 댓글 0건 조회 4,450회 작성일 13-11-14 19:24

본문

 
 
 
 
1.Find 방법
Recordset 오브젝트의 Find방법을 이용하면 지정한 조건에 일치하는 레코드를 검색하고 그 레코드를 최신 레코드라 한다.레코드가 발견되지 않았던 때는 Recordset 오브젝트의 BOF속성 또는 EOF속성이 True이 되고 최신 레코드는 미정의 된다.
【서식】

recordset : 
Criteria : 
SkipRows : 
SearchDirection : Start : 
◆SearchDirection
정수 설명
adSearchBackward -1 후방 검색을 하고 Recordset 의 앞으로 종료한다.일치하는 레코드가 발견되지 않는 경우,레코드 포인터는 BOF로 이동한다.
adSearchForward 1 전방 검색을 하고 Recordset 의 말미에 종료한다.일치하는 레코드가 발견되지 않는 경우,레코드 포인터는 EOF 로 이동한다.
 
【포인트】
Criteria인수는 검색에 사용하는 필드,비교 연산 자 검색하는 값으로 구성되는 문장이다. 비교 연산자에 "like" 을(를) 사용하는 경우 문자 열치에 퍼센트 (%) 를 포함하면 1 나루터 또는 복수의 문자 또는 부분 문자열을 검색하는 것이 가능하다.단지 퍼센트는 검색 문자열의 말미에 사용하거나 또는 검색 문자열의 앞과 말미의 양방에서 사용하는 것이 가능하다.

SkipRows인수는 검색 실행 때로는 읽기 날리는 레코드 수이다.이 인수를 생략하거나  또는 0을 지정하면 ,Find 방법은 최신 레코드에서 검색을 한다.만약,최신 레코드가 검색 조건을 채워주고 있는 경우에는 언제나 이 레코드가 검색되고 다른 레코드를 검색하는 것은 불가능하다.SkipRows인수를 1으로 하면,최신 레코드를 읽고 날리고,다음의 레코드를 검색하는 것이 가능하다.

SearchDirection인수는 검색의 방향을 지정한다.Recordset 오브젝트의 CursorType속성이 adOpenForwardOnly의 경우는 최신 레코드에서 앞 레코드 방향에의 검색은 실행할 수 없다.

Start인수는 검색 개시 위치를 지정한다.생략한 경우는 최신 레코드에서 검색을 개시한다.
■ 검색 조건의 서식

  검색에 사용하는 필드의 데이터 형태에 의해 검색하는 값의 서식이 다르다.
   
   ●텍스트 형태의 필드의 경우 검색하는 값을 Single Quation(')으로 묶어야 한다.
    검색하는 값을 변수로 지정하는 경우에도 Single Quation이 필요하다.

    
     (예)   RS.Find "클래스 = 'TA'"
         RS.Find "클래스 = ' " &  Str  &  "'"


    ●수치 형의 필드의 경우에는 검색하는 값을 그대로 기술한다.

     (예) RS.Find "점수  > 80"
         RS.Find "점수  > " & Str 


   ●날짜 시각 형필드의 경우,검색하는 값을 샾기호(#)으로 묶어야 한다.검색하는 값
       을 변수로 지정하는 장소

    합도 샾기호가 필요합니다.


     (예) RS.Find "입학 일 = #2004/04/01#"
         RS.Find "입학 일 =  # " & Str & "#"
2.앞 레코드를 검색한다.
Find 방법의 SkipRows인수를 0,SearchDirection인수를 adSearchForward으로 하면 최신 레코드에서 레코드셋의 최종 방향에 향하여 개시하고 처음에 찾았던 레코드를 최신 레코드로 한다.해당되는 레코드가 발견되지 않았던 경우에는, Recordset 오브젝트의 EOF속성이 True이 되고 최신 레코드는 미정의 된다. 이 때 최신 레코드를 참조한다면 에러가 발생한다.Find 방법을 실행한 뒤에는 반드시 EOF속성의 값을 조사하고 레코드가 발견됐을지 어떨지를 확인한다.

【사용 예】
   
3.연속으로 검색한다.
동일 조건으로 레코드를 계속하고 검색하는 경우, 첫번째의 레코드를 검색하는 경우에는 SkipRows인수를 0으로 하여 실행하고,2번째 이후의 레코드를 검색하는 경우는 SkipRows인수를 1로 한다.
【사용 예】
 
4.Seek 방법
Seek방법은 테이블에 설정되어 있는 인덱스를 이용하고 검색을 하기 때문에 Find 방법보다도 고속으로 레코드를 검색할 수 있다.
【서식】    
recordset:
KeyValues:
SeekOption:
◆SeekOption
정수 설명
adSeekFirstEQ 1 KeyValues 와 일치하는 최초의 키를 검색한다.
adSeekLastEQ 2 KeyValues 와 일치하는 최후의 키를 검색한다.
adSeekAfterEQ 4 KeyValues 와 일치하는 키, 또는 그 직후의 키의 어느 쪽이나 검색한다.
adSeekAfter 8 KeyValues라고 일치하는 키의 직후의 키를 검색한다.
adSeekBeforeEQ 16 KeyValues 라고(와) 일치하는 키, 또는 그 직전의 키의 어느 쪽이나를 검색한다.
adSeekBefore 32 KeyValues 와 일치하는 키의 직전의 키를 검색한다.

【포인트】
  1. 검색에 사용하는 필드는 테이블에 설정되고 있는 인덱스이다.테이블에는 복수의 인덱스를 설정하는 것이 가능하다.어느 인덱스를 사용하고 검색을 실행할지 는 Recordset 오브젝트의 Index속성으로 지정한다Seek 방법은 Recordset 오브젝트의 Open 방법의 options인수에 adCmdTableDirect을 지정하고 열렸던 Recordset 오브젝트만으로 실행 가능하다.
  2. Seek 방법을 실행한 결과 조건을 채워주는 레코드가 발견되지 않았던 때는 Recordset 오브젝트의 BOF속성 또는 EOF속성이 True이 되고,최신 레코드는 미정의 된다.이 때 최신 레코드를 참조한다면 에러가 된다.Find 방법을 실행한 후에는 반드시 BOF속성 또는 EOF속성의 값을 조사하고 레코드가 발견됐을지 어떨지를 확인한다.어느 쪽의 속성을 이용할지는 검색의 방법에 의해 다르다.
  3. Seek 방법의 KeyValues인수는 검색하는 값의 데이터 형태에 의해 서식이 다르다.텍스트 형태의 경우는 그 문자열을 Double Quatation(")이고 ,날짜 시각형의 경우는 샾기호(#)으로 묶어야 한다.수치형의 경우에는 검색하는 값을 그대로 기술한다.

【서식】
recordset:열려 있는 Recordset 오브젝트
indexname:테이블에 설정되고 있는 인덱스 이름
예를 들면,[학적 번호]필드에[번호]이라고 말하는 인덱스가 설정되고 있는 때 이 인덱스를 사용하고 레코드를 검색하는 데는,다음과 같이 기술한다.

【사용 예】
  

 
 
 

댓글목록

등록된 댓글이 없습니다.

전체 440
게시물 검색
컴퓨터언어 목록
번호 제목 글쓴이 조회 날짜
260 Mysql no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 5598 12-18
259 Mysql no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 4391 12-18
258 Javasript no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 4327 12-18
257 VB no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 4746 12-17
256 VB no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 6780 12-17
255 VB no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 4644 12-16
254 VB no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 4402 12-16
253 VB no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 4528 12-16
252 VB no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 6323 12-16
251 Javasript no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 4911 12-09
250 Javasript no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 4361 11-18
열람중 VB no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 4451 11-14
248 Mysql no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 4503 11-10
247 VB no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 8856 11-05
246 VB no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 4625 10-24
245 VB no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 7112 10-24
244 Javasript no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 4248 09-29
243 Javasript no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 4545 09-19
242 Javasript no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 4396 09-19
241 Javasript no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 4730 09-06