엑세스를 공부하다보니 궁금한 점이 있습니다.
바로 "not in()"함수와 "isnull()"함수인데요.
이 두가지 함수의 차이를 잘 모르겠습니다.
제가 알고 있는 바로는
"not in" 함수는 주로 엑세스의 '유효성검사', 또는 '이벤트프로시저', 간혹가다 '쿼리작성'을
할 때에 사용되는 것 같고,
"isnull" 함수는 주로 엑세스의 '컨트롤 원본', 또는 '불일치쿼리 작성'에 사용을 하는 것 같습니다.
그것 말고는 차이가 없는듯 합니다.(기능이 아주 똑같은 건지 개념의 혼동이 옵니다.)
그리고 네이버 지식인에서 찾기로는
두 함수가 기능이 똑같으니, 문제에 주어진 조건으로서 함수가 지정되지 않았다면,
시험 응시자가 본인의 임의대로 두 함수 중 하나를 고르고
문제를 풀면 된다라고 하는데
솔직히 네이버지식인은 참고만 할 뿐이지 신뢰를 하지는 않거든요.
책을 찾아보니 105쪽에 isnull에 관한 정의는 나와있지만
not in은 못찾았어요.
"not in()"함수와 "isnull()"함수를
각각 어떨때 적시적절하게 사용하는 지
그 용도와
각각의 기능의 차이를 올바르게 알고 싶습니다.
If IsNull(lst과목.value) Then는 lst과목 컨트롤에 선택된 값이 있는지 없는지를 비교하는 것입니다.
isnull 은 컨트롤에 선택된 값이 없는지 확인 하는 것입니다.
액세스는 txt이름을 참조했을 때는 단순한 컨트롤이 아니라 바운드된 필드를 찾게 됩니다.
그래서 필드의 초기값은 Null이므로 값을 입력하지 않은 것은 IsNull로 검사하는게 맞습니다.
엑셀에서 텍스트박스 컨트롤에 등록된 내용을 바로 확인 하기 때문에 cmb제품명 = "" 와 같이 사용하는 것입니다.
lst 박스부분에서는 바운드된 값을 이용하기때문에 isnull을 사용하는 경우가 많구요.
어떻게 작성하시든 코드가 정상실행되어 정확한 결과가 나온다면 상관 없습니다.
좋은 하루 되세요.
-
*2015-12-14 14:15:43
If IsNull(lst과목.value) Then는 lst과목 컨트롤에 선택된 값이 있는지 없는지를 비교하는 것입니다.
isnull 은 컨트롤에 선택된 값이 없는지 확인 하는 것입니다.
액세스는 txt이름을 참조했을 때는 단순한 컨트롤이 아니라 바운드된 필드를 찾게 됩니다.
그래서 필드의 초기값은 Null이므로 값을 입력하지 않은 것은 IsNull로 검사하는게 맞습니다.
엑셀에서 텍스트박스 컨트롤에 등록된 내용을 바로 확인 하기 때문에 cmb제품명 = "" 와 같이 사용하는 것입니다.
lst 박스부분에서는 바운드된 값을 이용하기때문에 isnull을 사용하는 경우가 많구요.
어떻게 작성하시든 코드가 정상실행되어 정확한 결과가 나온다면 상관 없습니다.
좋은 하루 되세요.