책 내용 질문하기
엑세스 기본 7회
도서
[2013] 컴퓨터활용능력 1급 실기(엑셀, 액세스 2007 사용자용)
페이지
조회수
145
작성일
2013-11-25
작성자
첨부파일

문3-2

Private Sub cmd결합검색_Click()
If IsNull(txt이름) Then
MsgBox "성을 입력하세요."
ElseIf IsNull(cmb부서명) Then
MsgBox "부서명을 선택하세요."
ElseIf IsNull(cmb직위) Then
MsgBox "직위를 선택하세요."
Else
lst사원정보.RowSource = "SELECT * FROM 사원관리 WHERE LEFT(이름,1)='" & txt이름 & "' and 부서명 ='" & cmb부서명 & "' and 직위 ='" & cmb직위 & "'"
End If
End Sub

여기서

"~~ WHERE LEFT(이름,1)= txt이름 and 부서명 =cmb부서명 and 직위 =cmb직위 "

이렇게 작성했는데 채점은 맞는 걸로 나왔습니다.

조건을

위에 처럼 작성할 때와

아래처럼 작성할 때는 문제가 어떻게 다르게 나옵니까?

시험장 가서도 아래처럼 작성해도 되나요?

답변
2013-11-26 11:08:12

WHERE LEFT(이름,1)= txt이름 and 부서명 =cmb부서명 and 직위 =cmb직위 "

와 같이 작성했을때 정상적으로 실행되어 정확한 결과가 나온다면 사용할 수 있습니다.

txt이름 과 cmb부서명 cmb직위에 해당하는 값이 표시되는지 다시 한번 확인 해 보시구요.

제대로 된 값이 나오지 않는다면 채점 프로그램에서 제대로 채점 되지 않은 것일 수 있습니다.

WHERE LEFT(이름,1)='" & txt이름 & "' and 부서명 ='" & cmb부서명 & "' and 직위 ='" & cmb직위 & "'"

에서 & 연산자를 이용하여 컨트롤 분리를 하는 이유는

cmb부서명에 입력된 값과 부서명 필드에 입력된 값을 비교하기 위한 것입니다.

대부분 프로시저에서는 이렇게 사용하구요.

runsql 문이나 dsum 과 같은 d가 들어가는 도메인 함수의 조건에서는 & 연산자를 사용하지 않고 비교하셔도 됩니다.

좋은 하루 되세요.

"
  • *
    2013-11-26 11:08:12

    WHERE LEFT(이름,1)= txt이름 and 부서명 =cmb부서명 and 직위 =cmb직위 "

    와 같이 작성했을때 정상적으로 실행되어 정확한 결과가 나온다면 사용할 수 있습니다.

    txt이름 과 cmb부서명 cmb직위에 해당하는 값이 표시되는지 다시 한번 확인 해 보시구요.

    제대로 된 값이 나오지 않는다면 채점 프로그램에서 제대로 채점 되지 않은 것일 수 있습니다.

    WHERE LEFT(이름,1)='" & txt이름 & "' and 부서명 ='" & cmb부서명 & "' and 직위 ='" & cmb직위 & "'"

    에서 & 연산자를 이용하여 컨트롤 분리를 하는 이유는

    cmb부서명에 입력된 값과 부서명 필드에 입력된 값을 비교하기 위한 것입니다.

    대부분 프로시저에서는 이렇게 사용하구요.

    runsql 문이나 dsum 과 같은 d가 들어가는 도메인 함수의 조건에서는 & 연산자를 사용하지 않고 비교하셔도 됩니다.

    좋은 하루 되세요.

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