책 내용 질문하기
p374 문3-2
도서
2019 시나공 컴퓨터활용능력 1급 실기
페이지
374
조회수
244
작성일
2019-10-15
작성자
탈퇴*원
첨부파일

lst컨트롤에 rowsource 기능을 이용해 조건을 충족하는 레코드를 표현하는 문제입니다 

 If 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 

저는 입력되지 않았으면 -> txt이름 = ""  로 ,

    선택되지 않았으면 -> isnull(cmb부서명) 라고 수식을 적어서 오답이었습니다.

  txt이름 = "" 방식과  isnull(txt이름) 의 차이는 무엇인가요?

  이때까지는 cmb:콤보박스를 주고 그것을 선택하지 않았다.. => if isnull(콤보박스) then 이런 식으로 문제를 풀어왔습니다.

  뭔가가 입력되지 않았다.. 는 ~~ = "" 이렇게 풀어왔구요

  isnull 과  = "" 의 차이가 무엇인가요?

 

답변
2019-10-16 21:22:14

녕하세요.

 

단순한 컨트롤이 아니라 바운드된 필드로 참조할 때,
필드의 초기값은 Null이므로 값을 입력하지 않은 것은 IsNull로 검사합니다.

IsNull( )은 유효한 데이터를 전혀 포함하지 않으면 참(True)을, 포함하면 거짓(False)을 반환하는 함수입니다.
주로 목록상자에서 사용됩니다.

엑셀에서 컨트롤에 등록된 내용을 바로 확인하기 위해서는 txt이름 = "" 와 같이 사용하는 것입니다.

 
어떻게 작성하시든 코드가 정상실행되어 정확한 결과가 나온다면 상관 없습니다.

실제 시험에서 지시사항에 별다른 설명이 없었다면 둘중 어느것을 사용하시든 정확한 결과가 나오면 정답으로 인정될 것 입니다.


좋은 하루 보내세요. 

  • 관리자
    2019-10-16 21:22:14

    녕하세요.

     

    단순한 컨트롤이 아니라 바운드된 필드로 참조할 때,
    필드의 초기값은 Null이므로 값을 입력하지 않은 것은 IsNull로 검사합니다.

    IsNull( )은 유효한 데이터를 전혀 포함하지 않으면 참(True)을, 포함하면 거짓(False)을 반환하는 함수입니다.
    주로 목록상자에서 사용됩니다.

    엑셀에서 컨트롤에 등록된 내용을 바로 확인하기 위해서는 txt이름 = "" 와 같이 사용하는 것입니다.

     
    어떻게 작성하시든 코드가 정상실행되어 정확한 결과가 나온다면 상관 없습니다.

    실제 시험에서 지시사항에 별다른 설명이 없었다면 둘중 어느것을 사용하시든 정확한 결과가 나오면 정답으로 인정될 것 입니다.


    좋은 하루 보내세요. 

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