문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직위 "
이렇게 작성했는데 채점은 맞는 걸로 나왔습니다.
조건을
위에 처럼 작성할 때와
아래처럼 작성할 때는 문제가 어떻게 다르게 나옵니까?
시험장 가서도 아래처럼 작성해도 되나요?
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가 들어가는 도메인 함수의 조건에서는 & 연산자를 사용하지 않고 비교하셔도 됩니다.
좋은 하루 되세요.
"