드로우홀릭 더베이직
안녕하세요?
nz 함수와 관련 궁금한 사항이 두 가지 있어 문의 드리려 합니다.
첫번째는 소개된 예제에서 NZ함수가 쓰이는 이유입니다.
nz 함수는 variant가 null일때 지정된 값을 반환하는 함수로 이해를 했으나 설명해 주신 예제에서 nz가 쓰이는 이유를 잘 모르겠습니다. Null 값일 수도 있어서 이렇게 처리해 주는게 좋다라고 말씀 하셨으나 분류가 "고객"이고 회사전화가 빈문자열일 때 메세지를 띄우는 경우라서 꼭 필요한 건 아닌 것 같아서요.
if 분류 ="고객" then
if 회사전화="" then
=> 이런 식으로 입력해도 차이가 없을 것 같은 개인적인 생각인데요.
물론 직접 시도해 봤지만 nz 함수를 쓰고도 성공하지 못해서 검증을 할 수가 없었습니다.
두번 째는 위 내용을 설명 대로 따라했는데, 구현이 잘 안되어서 어떤 부분이 잘못되었는지 조언을 구하고 싶습니다.
여러번 다시 봐도 어떤 부분을 놓쳤는지 잘 모르겠습니다.
파일 첨부 하였고, 예제파일의 연락처 폼에 이벤트를 적용했으나 잘 안되었습니다.
도움에 감사 드립니다!
'분류' 값이 Null이었을 때, 다음 식은 평가되지 않습니다.
if 분류 ="고객" then
Null을 포함한 연산의 결과는 무조건 Null이기 때문입니다.
그래서 Null이 반환될 가능성이 있는 것을 비교할 때에는 Nz를 사용하는 것이 좋습니다.
지금 이 로직에서는 '고객'이 Null일 경우, 위 식이 평가되지 않아도 상관없지요.
그러니 말씀하신 대로 Nz를 사용하지 않아도 괜찮기는 합니다.
하지만 '습관'을 들여 놓으면, 내가 미처 생각하지 못했을 때에도 대처가 되지요.
비교식이 있는데 Null 가능성이 있다? --> 그럼 Null을 없애자.
이런 논리입니다.
두 번째 질문은, 다음과 같이 변경하면 제대로 잘 동작합니다.
if Nz([분류],"") ="3" then
'고객'이라는 텍스트는 콤보상자로 표시되는 값일 뿐이고요, 실제로 ('고객'일 때) 콤보상자가 가지고 있는 값은 "3"이 됩니다. 그래서 위와 같이 식을 바꿔줘야 합니다.