Bomi is worldstar

[컴활1급][엑세스] 조회 공부 본문

■ Personal

[컴활1급][엑세스] 조회 공부

월드스타 2021. 4. 19. 15:27

Filter, FilterOn 속성

Private Sub cmd제품명찾기_Click()
  Me.Filter = "제품명 = '" & txt제품명 & "'"
  //'제품명'이 'txt제품명' 컨트롤에 입력한 값과 동일한 레코드를 현재 폼의 Filter 속성으로 정의한다.
  Me.FilterOn = True
  //현재 폼 개체의 Filter 속성에 정의된 Filter를 적용한다.
End Sub
Private Sub cmd전체보기1_Click()
    Me.FilterOn = False
    //현재 폼 개체에 적용된 Filter 속성을 해제한다.
End Sub

 

RecordSource 속성

Private Sub cmd이메일찾기_Click()
    Me.RecordSource = "select * from 제품별판매현황 where 담당자이메일 like '*" & txt이메일 & "*'"
    //'담당자이메일'이 'txt이메일'에 입력된 문자를 포함하는 제품을 <제품별판매현황> 테이블(또는 쿼리)에서 찾아 현재 폼의 레코드 원본으로 지정한다.
End Sub

 

ApplyFilter 함수 이용 + 매크로에 이름 지정하여 사용하기

 

RecordsetClone, Bookmark, FindFirst 속성

Private Sub cmd판매번호찾기_Click()
    Me.RecordsetClone.FindFirst "판매번호 = " & txt판매번호
    Me.Bookmark = Me.RecordsetClone.Bookmark
End Sub

ㅇ Me.RecordsetClone.FindFirst "조건"

- 현재 폼의 작업대상이 되는 레코드 셋을 복사한 후 복사된 개체를 대상으로 조건에 맞는 첫 번째 레코드로 이동한다..

ㅇ RecordsetClone.Bookmark

- 복사된 개체를 열었을 때 현재 레코드를 유일하게 식별할 수 있는 표식으로, 보통 책갈피라고 한다.

- 레코드 셋이나 복사된 레코드 셋을 열었을 때 여러 개의 레코드가 있지만 현재 레코드 포인터는 항상 1개만을 가리키고 있으며 그것을 확인할 수 있는 것이 Bookmark이다.

ㅇ Me.Bookmark

- 현재 폼의 작업 대상인 레코드 셋의 레코드 중에서 현재 레코드 포인터가 가리키고 있는 레코드의 책갈피이다.

 

Ado 개체

Private Sub cmd제품정보찾기_Click()
    Dim rs As ADODB.Recordset //1
    Set rs = New ADODB.Recordset //2
    DoCmd.OpenForm "제품정보" //3
    rs.ActiveConnection = CurrentProject.Connection //4
    rs.Open "select * from 제품별판매현황 where 판매번호 = " & txt판매번호 //5
    Forms!제품정보.txt판매번호 = rs!판매번호 //6 ~
    Forms!제품정보.txt제품명 = rs!제품명
    Forms!제품정보.txt판매량 = rs!판매량
    Forms!제품정보.txt불량품 = rs!불량품
    Forms!제품정보.txt단가 = rs!단가
    Forms!제품정보.txt제품명 = rs!제품명
    Forms!제품정보.txt거래처명 = rs!거래처명
    Forms!제품정보.txt거래처등급 = rs!거래처등급 //13
    rs.Close //14
End Sub
※ ADODB 함수 자동 완성이 안 경우
[도구] → 참조 → Microsoft ActiveX Data Objects 2.x ~ 6.x Library 중 아무거나 체크 후 [확인]버튼 클릭

//1

- rs를 ADO 레코드 셋의 변수로 선언한다.

- 레코드 셋은 기본 테이블이나 명령 실행 결과로 얻엊ㄴ 데이터를 임시로 저장해 두는 레코드 집합이다.

//2

- rs에 임시로 저장할 레코드 셋을 할당한다.

//3

- <제품정보> 폼을 연다.

//4

- rs 레코드 셋에 현재 데이터베이스를 연결한다.

- ActiveConnection : 지정한 개체에 현재 속해 있는 Connection 개체를 나타내는 것으로, 여기서는 rs 레코드 셋을 의미한다.

- CurrentProject.Connection : 현재 데이터베이스의 ADO 연결 복사본에 대한 참조를 반환한다.

//5

- <제품별판매현황> 쿼리에서 '판매번호'가 'txt판매번호' 컨트롤에 입력된 값과 동일한 레코드를 rs 레코드 셋에 할당한다.

//6~13

- rs 레코드 셋에 할당된 값을 <제품정보>폼의 각 컨트롤에 표시한다..

//14

- rs 레코드 셋을 닫는다.

Comments