기타작업-3-2번 문제
제품명(cmb제품명)을 선택하지 않았으면 msgbkx를 출력하고~~
이 부분에서 정답은 cmb제품명 = "" 이고
제가 작성한 답은 ISNULL( cmb제품명.value ) 인데
왜 위에거는 답이 되고 isnull을 사용하면 오답인가요?
isnull을 사용하면 첨부한 파일같이 오류가 뜹니다.(첨부한 파일에서 isnull부분때문에 오답인게 맞는건가요?)
또 한가지 궁금한 것은 정답처럼 cmb제품명 = "" 를 작성했을 때
큰따옴표 사이를 띄우니 제품명을 입력하지 않았을 때 제품명에 대한 메시지박스가 뜨지 않고, 큰따옴표 사이를 띄우지 않으면 답과 일치하게 나옵니다.
이때 큰따옴표 사이를 띄우지 않아야 하는건지 궁금합니다.
수정) 다운받은 파일은 코드창이 열리지 않는 것 같아서 사진 첨부했습니다!
문제에서 lst과목을 선택하지 않았을때 메시지를 나타내라고 했으므로 이 컨트롤에 값이 입력되었는지 안되었는지를 확인 하기 위해
isnull 을 사용하는 것입니다.
If IsNull(lst과목.value) Then는 lst과목 컨트롤에 선택된 값이 있는지 없는지를 비교하는 것입니다.
isnull 은 컨트롤에 선택된 값이 없는지 확인 하는 것입니다.
액세스는 txt이름을 참조했을 때는 단순한 컨트롤이 아니라 바운드된 필드를 찾게 됩니다.
그래서 필드의 초기값은 Null이므로 값을 입력하지 않은 것은 IsNull로 검사하는게 맞습니다.
엑셀에서 텍스트박스 컨트롤에 등록된 내용을 바로 확인 하기 때문에 cmb제품명 = "" 와 같이 사용하는 것입니다.
lst 박스부분에서는 바운드된 값을 이용하기때문에 isnull을 사용하는 경우가 많구요.
어떻게 작성하시든 코드가 정상실행되어 정확한 결과가 나온다면 상관 없습니다.
좋은 하루 되세요.
-
관리자2023-04-21 21:35:07
문제에서 lst과목을 선택하지 않았을때 메시지를 나타내라고 했으므로 이 컨트롤에 값이 입력되었는지 안되었는지를 확인 하기 위해
isnull 을 사용하는 것입니다.
If IsNull(lst과목.value) Then는 lst과목 컨트롤에 선택된 값이 있는지 없는지를 비교하는 것입니다.
isnull 은 컨트롤에 선택된 값이 없는지 확인 하는 것입니다.
액세스는 txt이름을 참조했을 때는 단순한 컨트롤이 아니라 바운드된 필드를 찾게 됩니다.
그래서 필드의 초기값은 Null이므로 값을 입력하지 않은 것은 IsNull로 검사하는게 맞습니다.
엑셀에서 텍스트박스 컨트롤에 등록된 내용을 바로 확인 하기 때문에 cmb제품명 = "" 와 같이 사용하는 것입니다.
lst 박스부분에서는 바운드된 값을 이용하기때문에 isnull을 사용하는 경우가 많구요.
어떻게 작성하시든 코드가 정상실행되어 정확한 결과가 나온다면 상관 없습니다.
좋은 하루 되세요.