Global It Leader!!



 
 

VB ADO 레코드 검색 설명서

페이지 정보

작성자 no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 댓글 0건 조회 4,448회 작성일 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:테이블에 설정되고 있는 인덱스 이름
예를 들면,[학적 번호]필드에[번호]이라고 말하는 인덱스가 설정되고 있는 때 이 인덱스를 사용하고 레코드를 검색하는 데는,다음과 같이 기술한다.

【사용 예】
  

 
 
 

댓글목록

등록된 댓글이 없습니다.

전체 95
게시물 검색
컴퓨터언어 목록
번호 제목 글쓴이 조회 날짜
55 VB no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 6321 12-16
열람중 VB no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 4449 11-14
53 VB no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 8855 11-05
52 VB no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 4623 10-24
51 VB no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 7110 10-24
50 VB no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 4661 07-26
49 VB no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 4743 03-09
48 VB no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 4910 03-09
47 VB no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 10842 06-30
46 VB no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 6707 06-25
45 VB no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 7468 06-25
44 VB no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 8032 06-25
43 VB no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 13003 06-24
42 VB no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 8537 06-24
41 VB no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 9230 06-17
40 VB no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 24952 07-22
39 VB no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 9921 07-21
38 VB no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 8410 07-21
37 VB no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 8724 07-21
36 VB no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 8112 07-20