책 내용 질문하기
엑셀 실전모의고사 E형 p.532
도서
2021 시나공 컴퓨터활용능력 1급 실기
페이지
532
조회수
215
작성일
2021-01-21
작성자
탈퇴*원
첨부파일

안녕하세요. 모의고사를 풀던 중 궁금증이 생겨 문의를 남기게 되었습니다.

문제를 보면, 

lst신상목록에서 신상목록을 선택하지 않았으면 ~ 라고 되어있습니다. 

 

그래서 저는 아래 코드의 처음 줄을 다음과 같이 작성했습니다.

if lst신상목록.value="" then 

하지만, 막상 코드를 실행해보니 오류가 발생하더라구요ㅠㅠ

혹시 위 코드와 isnull(lst신상목록.value) then 의 차이가 무엇인가요??

 

답변 미리 감사드립니다.

감사합니다!

 

 

<정답> 코드 

If IsNull(lst신상목록.Value) Then

MsgBox "신상목록을 선택하지 않았습니다."

lst신상목록.ListIndex = 0

Else

입력행 = [a3].Row + [a3].CurrentRegion.Rows.Count

참조행 = lst신상목록.ListIndex

 

Cells(입력행, 1) = lst신상목록.List(참조행, 0)

Cells(입력행, 2) = lst신상목록.List(참조행, 1)

Cells(입력행, 3) = 전화번호.Value

Cells(입력행, 4) = 등급.Value

 

End If

답변
2021-01-23 10:50:35

 안녕하세요.

 

액세스는 txt년도를 참조했을 때는 단순한 컨트롤이 아니라 바운드된 필드를 찾게 됩니다.

 

그래서 필드의 초기값은 Null이므로 값을 입력하지 않은 것은 IsNull로 검사하는게 맞습니다.

 

엑셀에서는 컨트롤에 등록된 내용을 바로 확인 하기 때문에 cmb제품명 = "" 와 같이 사용하는 것입니다.

 

lst 박스부분에서는 바운드된 값을 이용하기때문에 isnull을 사용하는 경우가 많구요.

 

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

 

lst열차종류.Value 

lst열차종류의 값을 가져오기 위해 .value 속성을 사용한 것입니다.

  

좋은 하루 보내세요. 

  • 관리자
    2021-01-23 10:50:35

     안녕하세요.

     

    액세스는 txt년도를 참조했을 때는 단순한 컨트롤이 아니라 바운드된 필드를 찾게 됩니다.

     

    그래서 필드의 초기값은 Null이므로 값을 입력하지 않은 것은 IsNull로 검사하는게 맞습니다.

     

    엑셀에서는 컨트롤에 등록된 내용을 바로 확인 하기 때문에 cmb제품명 = "" 와 같이 사용하는 것입니다.

     

    lst 박스부분에서는 바운드된 값을 이용하기때문에 isnull을 사용하는 경우가 많구요.

     

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

     

    lst열차종류.Value 

    lst열차종류의 값을 가져오기 위해 .value 속성을 사용한 것입니다.

      

    좋은 하루 보내세요. 

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