책 내용 질문하기
액세스 실전모의고사B 문제 4 처리기능구현 1번 이벤트프로시저
도서
2018 시나공 컴퓨터활용능력 1급 실기(엑셀, 액세스 2010 사용자용)
페이지
435
조회수
59
작성일
2018-03-24
작성자
탈퇴*원
첨부파일

1. '소매점관리' 폼의 '조회' 버튼(cmb조회)과 '수정' 버튼(cmb수정)을 클릭할 때 다음과 같은 기능을 수행하도록 이벤트 프로시저를 구현하시오.

▶'cmb소매점코드'에서 소매점코드를 선택하고 '조회' 버튼(cmb조회)을 클릭하면 <소매점2> 테이블에서 'cmb소매점코드'에 해당하는 레코드를 찾아 '소매점관리' 폼에 표시하시오.

▶'수정'버튼(cmb수정)을 클릭하면 <소매점2> 테이블에서 'cmb소매점코드'에 해당하는 레코드를 찾아 '소매점관리' 폼에 있는 데이터로 수정하시오.

▶Ado개체를 이용하시오.

-----------------------------------------

?먼저 '조회'버튼

?private sub cmd조회_click

dim rs as ADODB.Recordset

set rs = New ADODB.Recordset

rs.ActiveConnection = currentproject.connection

rs.Open "select * from 소매점2 where 소매점코드 = '" & cmb소매점코드 " & "'"

txt소매점명 = rs!소매점명

txt연락처 = rs!연락처

txt평균매출액 = rs!평균매출액

txt등급 = rs!등급

rs.close

end sub

ado가 정확히 뭔가요? 이 식을 아예 모르겠어요...... 저 소매점명,연락처,평균매출액,등급은 소매점관리 폼에 나와있는것 중 직접 선택해야 하는 소매점코드 빼고 쓴건가요? 뭐가 뭔지 하나도 모르겠어요. ! 이 표시에 대해서도 알려주세요ㅠㅠㅠ

수정 버튼에 클릭 기능 구연하기

private Sub cmb수정_click()

set rs = new ADODB.Recordset

rs.ActiveConnection = currentproject.connection

rs.curcortype = adopenDynamic

rs.Locktype = adLockOptimistic

rs.open "Select * ffom 소매점2 where 소매점코드 = '" & cmb소매점코드 & "'"

rs!소매점명 = txt소매점명

rs! 연락처 = txt연락처

rs!평균매출액 = txt평균매출액

rs!등급 = txt등급

rs.update

rs.close

End Sub

이 수정 버튼은 왜 rs! 가 먼저 나왔나요? rs!소매점명 = txt소매점명 과 txt소매점명 = rs!소매점명의 차이를 알려주세요...그리고 rs.update로 변경된 내용을 저장한건 왜 수정버튼 식에만 썼나요? dim rs 이건 앞에 조회버튼에서 정의해서 안쓰는 건가요? 여기 설명에 레코드 셋을 통한 모든 유형의 이동이 허용되는 동적 커서로 커서 유형을 지정한다. update나 delete 메서드를 호출할 때 다른 사용자가 접근할 수 없도록 레코드를 잠그는 유형이라는데 update나 delete를 쓸 때는 이 초록색 부분을 쓰는건가요?

?이 식에 대해서 상세한 설명 부탁드려요ㅠㅠㅠ

답변
2018-04-02 09:54:47

안녕하세요.

먼저 '조회'버튼

?private sub cmd조회_click

dim rs as ADODB.Recordset

set rs = New ADODB.Recordset

rs.ActiveConnection = currentproject.connection

rs.Open "select * from 소매점2 where 소매점코드 = '" & cmb소매점코드 " & "'"

txt소매점명 = rs!소매점명

txt연락처 = rs!연락처

txt평균매출액 = rs!평균매출액

txt등급 = rs!등급

rs.close

end sub

ado가 정확히 뭔가요? 이 식을 아예 모르겠어요...... 저 소매점명,연락처,평균매출액,등급은 소매점관리 폼에 나와있는것 중 직접 선택해야 하는 소매점코드 빼고 쓴건가요? 뭐가 뭔지 하나도 모르겠어요.

-> 'rs!.Open "select * from ~' 이 부분에서 조건에 만족하는 데이터만을 추출하여 rs 레코드셋에 연결하였고, 'txt소매점명 = rs!소매점명'은 rs 레코드셋의 소매점명을 txt소매점명 컨트롤에 표시하라는 의미입니다.

! 이 표시에 대해서도 알려주세요ㅠㅠㅠ

-> 특정 테이블에 있는 필드를 표시할 때 테이블명!필드명 식으로 입력하듯, 레코드셋에 있는 내용도 해당 레코드셋명!필드명 식으로 지정한 것입니다.

수정 버튼에 클릭 기능 구연하기

private Sub cmb수정_click()

set rs = new ADODB.Recordset

rs.ActiveConnection = currentproject.connection

rs.curcortype = adopenDynamic

rs.Locktype = adLockOptimistic

rs.open "Select * ffom 소매점2 where 소매점코드 = '" & cmb소매점코드 & "'"

rs!소매점명 = txt소매점명

rs! 연락처 = txt연락처

rs!평균매출액 = txt평균매출액

rs!등급 = txt등급

rs.update

rs.close

End Sub

이 수정 버튼은 왜 rs! 가 먼저 나왔나요? rs!소매점명 = txt소매점명 과 txt소매점명 = rs!소매점명의 차이를 알려주세요...

-> txt소매점명 컨트롤에 입력된 값을 rs 레코드셋의 소매점명 필드에 입력하라는 의미입니다. 즉, =의 오른쪽에 있는 값을 왼쪽에 저장한다고 보시면 됩니다.

txt소매점명 = rs!소매점명 : rs 레코드셋의 소매점명을 txt소매점명 컨트롤에 입력합니다.

rs!소매점명 = txt소매점명 : txt소매점명 컨트톨에 입력된 값을 rs 레코드셋의 소매점명 필드에 저장합니다.

그리고 rs.update로 변경된 내용을 저장한건 왜 수정버튼 식에만 썼나요? dim rs 이건 앞에 조회버튼에서 정의해서 안쓰는 건가요?

-> rs 레코드셋은 특정 테이블의 값을 연결해 놓은 것으로 실제 해당 레코드셋의 값을 수정하러나 삭제하려면 rs.update와 같은 명령문이 반드시 있어야 합니다. 단순히 조회만 하는 경우에는 없어도 됩니다.

여기 설명에 레코드 셋을 통한 모든 유형의 이동이 허용되는 동적 커서로 커서 유형을 지정한다. update나 delete 메서드를 호출할 때 다른 사용자가 접근할 수 없도록 레코드를 잠그는 유형이라는데 update나 delete를 쓸 때는 이 초록색 부분을 쓰는건가요?

-> 네 맞습니다. ado 개체는 내용이 광범위하고 내용이 많이 어렵습니다. 하지만 시험에 나오는 것은 교재에 있는 정도이니 교재에 있는 내용 정도만 확실히 이해 및 암기해 두시고, 교재에 있는 내용이 출제되면 확실히 맞추고 그 외의 내용이 나온다면 틀린다고 생각하셔야 합니다.

즐거운 하루 되세요.

  • *
    2018-04-02 09:54:47

    안녕하세요.

    먼저 '조회'버튼

    ?private sub cmd조회_click

    dim rs as ADODB.Recordset

    set rs = New ADODB.Recordset

    rs.ActiveConnection = currentproject.connection

    rs.Open "select * from 소매점2 where 소매점코드 = '" & cmb소매점코드 " & "'"

    txt소매점명 = rs!소매점명

    txt연락처 = rs!연락처

    txt평균매출액 = rs!평균매출액

    txt등급 = rs!등급

    rs.close

    end sub

    ado가 정확히 뭔가요? 이 식을 아예 모르겠어요...... 저 소매점명,연락처,평균매출액,등급은 소매점관리 폼에 나와있는것 중 직접 선택해야 하는 소매점코드 빼고 쓴건가요? 뭐가 뭔지 하나도 모르겠어요.

    -> 'rs!.Open "select * from ~' 이 부분에서 조건에 만족하는 데이터만을 추출하여 rs 레코드셋에 연결하였고, 'txt소매점명 = rs!소매점명'은 rs 레코드셋의 소매점명을 txt소매점명 컨트롤에 표시하라는 의미입니다.

    ! 이 표시에 대해서도 알려주세요ㅠㅠㅠ

    -> 특정 테이블에 있는 필드를 표시할 때 테이블명!필드명 식으로 입력하듯, 레코드셋에 있는 내용도 해당 레코드셋명!필드명 식으로 지정한 것입니다.

    수정 버튼에 클릭 기능 구연하기

    private Sub cmb수정_click()

    set rs = new ADODB.Recordset

    rs.ActiveConnection = currentproject.connection

    rs.curcortype = adopenDynamic

    rs.Locktype = adLockOptimistic

    rs.open "Select * ffom 소매점2 where 소매점코드 = '" & cmb소매점코드 & "'"

    rs!소매점명 = txt소매점명

    rs! 연락처 = txt연락처

    rs!평균매출액 = txt평균매출액

    rs!등급 = txt등급

    rs.update

    rs.close

    End Sub

    이 수정 버튼은 왜 rs! 가 먼저 나왔나요? rs!소매점명 = txt소매점명 과 txt소매점명 = rs!소매점명의 차이를 알려주세요...

    -> txt소매점명 컨트롤에 입력된 값을 rs 레코드셋의 소매점명 필드에 입력하라는 의미입니다. 즉, =의 오른쪽에 있는 값을 왼쪽에 저장한다고 보시면 됩니다.

    txt소매점명 = rs!소매점명 : rs 레코드셋의 소매점명을 txt소매점명 컨트롤에 입력합니다.

    rs!소매점명 = txt소매점명 : txt소매점명 컨트톨에 입력된 값을 rs 레코드셋의 소매점명 필드에 저장합니다.

    그리고 rs.update로 변경된 내용을 저장한건 왜 수정버튼 식에만 썼나요? dim rs 이건 앞에 조회버튼에서 정의해서 안쓰는 건가요?

    -> rs 레코드셋은 특정 테이블의 값을 연결해 놓은 것으로 실제 해당 레코드셋의 값을 수정하러나 삭제하려면 rs.update와 같은 명령문이 반드시 있어야 합니다. 단순히 조회만 하는 경우에는 없어도 됩니다.

    여기 설명에 레코드 셋을 통한 모든 유형의 이동이 허용되는 동적 커서로 커서 유형을 지정한다. update나 delete 메서드를 호출할 때 다른 사용자가 접근할 수 없도록 레코드를 잠그는 유형이라는데 update나 delete를 쓸 때는 이 초록색 부분을 쓰는건가요?

    -> 네 맞습니다. ado 개체는 내용이 광범위하고 내용이 많이 어렵습니다. 하지만 시험에 나오는 것은 교재에 있는 정도이니 교재에 있는 내용 정도만 확실히 이해 및 암기해 두시고, 교재에 있는 내용이 출제되면 확실히 맞추고 그 외의 내용이 나온다면 틀린다고 생각하셔야 합니다.

    즐거운 하루 되세요.

· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.