책 내용 질문하기
기본모의고사7회 문제3에 2번문제 문의
도서
[2011] 컴퓨터활용능력 1급 실기(엑셀, 액세스 2003 사용자용)
페이지
331
조회수
82
작성일
2011-12-07
작성자
첨부파일

혼자 공부하다 궁금해서 문의드립니다

아래 문제를 풀다 헷갈리는게 where 후에 조건을 입력할때 다른 문제는 "고객이름 = '" & txtdlfma & "'" 이런식으로 맨 앞부분에 "쌍따옴표" 붙던데 가끔 안붙는것도 있더라구요,,

차이가 뭔지 궁금합니다

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

답변
2011-12-07 18:03:33

안녕하세요. 길벗 수험서 운영팀입니다.

" " 는 문자열을 구분하는 것입니다.

"select * from 사원관리 where left(이름,1) = '" & txt이름 & "' and 부서명 = '"

~~~~~~~~~~~~~~~~~~~~~~~~~~~~

여기까지는 문자열입니다.

그 다음의 & 은 두 문자열을 서로 연결할 때 사용하는 연산자입니다.

txt이름은 폼의 컨트롤이며, 저런식으로 사용될 때는 txt이름에 입력된 값을 말합니다.

그 뒤에 다시 문자열을 잇기 위해서 & 연산자가 붙고 " "로 묶어서 문자열을 붙입니다.

컨트롤이름을 굳이 문자열 밖으로 따로 빼서 사용하는 이유는

문자열로 묶으면 SQL 쿼리에서 알아듣지 못하기 때문입니다.

txt이름에 "홍길동" 이라는 값이 들어있다고 가정했을 때,

저 구문을 전부 연결하면 다음과 같이 됩니다.

"select * from 사원관리 where left(이름,1) = '홍길동' and 부서명 = '"

즐거운 하루 되세요.

"
  • *
    2011-12-07 18:03:33

    안녕하세요. 길벗 수험서 운영팀입니다.

    " " 는 문자열을 구분하는 것입니다.

    "select * from 사원관리 where left(이름,1) = '" & txt이름 & "' and 부서명 = '"

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    여기까지는 문자열입니다.

    그 다음의 & 은 두 문자열을 서로 연결할 때 사용하는 연산자입니다.

    txt이름은 폼의 컨트롤이며, 저런식으로 사용될 때는 txt이름에 입력된 값을 말합니다.

    그 뒤에 다시 문자열을 잇기 위해서 & 연산자가 붙고 " "로 묶어서 문자열을 붙입니다.

    컨트롤이름을 굳이 문자열 밖으로 따로 빼서 사용하는 이유는

    문자열로 묶으면 SQL 쿼리에서 알아듣지 못하기 때문입니다.

    txt이름에 "홍길동" 이라는 값이 들어있다고 가정했을 때,

    저 구문을 전부 연결하면 다음과 같이 됩니다.

    "select * from 사원관리 where left(이름,1) = '홍길동' and 부서명 = '"

    즐거운 하루 되세요.

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