이전 풀이시 지문의 이해 부족으로 틀렸던 문제로 오늘 재차 풀어 봤으나 역시 틀렸습니다.
답 풀이 및 '전무가의 조언' 을 깊이 숙고했으나 계속 납득이 안되는 점이 있습니다.
이 문제를 정확하게 풀어내는데 있어 이 문제관련 제가 '알고있었어야 할 사전(배경) 지식(해결의 센스?)'
를 지적 해 주셨으면 합니다.
가슴이 꽉 막혔던 지점을 적어 올리니 이것을 근간으로 하여 수고스럽더라도 충실하고 자세한 설명 부탁 드립니다.
1. lst사원정보의 컨트롤 원본 속성을 확인하라 하셨는데 lst사원정보의 컨트롤 원본에는 지정된것이 전혀 없으며, 후루룩 단추 클릭 해 펼쳐지는 필드 항목들 에서도 관련성 있는 테이블로 짐작 할 만한 것은 없었던 점
2. 행 원본의 sql문에 나와있는 여러개의 필드, 쿼리, where조건(부서명='') 으로서 lst사원정보 컨트롤에 이미 필드의 값이 표시 되는데 'lst사원정보에 표시' 하라는 지문은 어떻게 하라는 건지
(폼을 열시 lst사원정보에 아무것도 표시 되지 않으나 실제는 (" ~ ~where 부서명=''" )으로 보이지 않음)
이 의문점들이 단순히 암기만이 만사 해결 됨 이 아니라는 저의 생각을 이해 주시고 제가 뭘 모르고 , 뭘 알아야 하는지 지적 해 주시길 간곡히 바랍니다.
1. lst사원정보 와 같이 리스트박스나 콤보박스는 보통 컨트롤 원본이 아니라 행원본이 지정됩니다.
그러므로 행원본을 확인 해 보셔야 합니다.
2. 문제 4-1 번 질문 주신 것인가요?
txt이름 컨트롤에 사원이름중 성을 입력한 경우 lst사원정보에 입력된 성에 해당하는 레코드를 표시 해야 합니다.
그래서
lst사원정보.rowsource = "select * from 사원관리 where left(이름,1)= '" & txt이름 & "'"
와 같은 코드가 나옵니다.
select * from 사원관리 이것은 이 폼의 레코드 원본이거나, lst사원정보 컨트롤의 행원본을 참고한 것이라고 보시면 됩니다.
left(이름,1) 은 성을 구하기 위한 것이고 txt이름과 비교하기 위해 사용된 것이죠.
lst사원정보 컨트롤에 표시될 값을 설정 하기 위해서 이런 방법을 이용합니다.
이렇게 lst사원정보 컨트롤의 행원본과 폼의 레코드 원본 등을 확인 하여 어떤 값을 비교해야 할지 생각하여 사용하시기 바랍니다.
좋은 하루 되세요.
-
*2013-08-28 10:05:58
1. lst사원정보 와 같이 리스트박스나 콤보박스는 보통 컨트롤 원본이 아니라 행원본이 지정됩니다.
그러므로 행원본을 확인 해 보셔야 합니다.
2. 문제 4-1 번 질문 주신 것인가요?
txt이름 컨트롤에 사원이름중 성을 입력한 경우 lst사원정보에 입력된 성에 해당하는 레코드를 표시 해야 합니다.
그래서
lst사원정보.rowsource = "select * from 사원관리 where left(이름,1)= '" & txt이름 & "'"
와 같은 코드가 나옵니다.
"select * from 사원관리 이것은 이 폼의 레코드 원본이거나, lst사원정보 컨트롤의 행원본을 참고한 것이라고 보시면 됩니다.
left(이름,1) 은 성을 구하기 위한 것이고 txt이름과 비교하기 위해 사용된 것이죠.
lst사원정보 컨트롤에 표시될 값을 설정 하기 위해서 이런 방법을 이용합니다.
이렇게 lst사원정보 컨트롤의 행원본과 폼의 레코드 원본 등을 확인 하여 어떤 값을 비교해야 할지 생각하여 사용하시기 바랍니다.
좋은 하루 되세요.