PROGRAMMING WORKSHOP

Access와 Excel의 연동_11|참조테이블의 편집을 위한 인터페이스
참조테이블을 좀더 이해하자..

DB는 , 정보창고는 시스템이다
하나의 정보만 덜렁 떨어져있는 것이 아니고, 이정보와 저정보는 어떤 관계를 갖고 있게 된다
그래야 정보가 의미가 있어진다
여러분이 구글의 회원이라고 치면 여러분의 로그인 정보는 기본정보로 회원테이블에 보관되고
여러분이 구글에서 하는 다양한 작업, 이메일,그림저장,화일저장등 다양한 정보들이
별도의 테이블로 구성이 되어 , 여러분의 로그인정보와 조합이 되어 다양한 새로운 분석정보를
재 생산해 내게 된다
그러니 DB시스템을 어떻게 설계하느냐는 하나의 예술이라고 볼만 하다
한번 정해 놓은 시스템에 따라서 여러분이 관리하는 정보는 화려하게 전개되기도 하고
쓰잘데 없는 쓰레기통이 되어 버리기도 한다

이미 등록된 애완동물과 진료방법을 서로 지정하여 날자와 시간정보를 입력하면
하나의 진료기록이 보관된다
그런데 새로운 애완동물이 동물병원에 오거나
새로운 진료방법이나 서비스가 추가 되었을수도 있을 것이다
그럼 기본테이블(참조테이블)인 애완동물테이블과 진료방법테이블에 정보를 추가하여야 할 것이다
이것을 하기 위하여 애완동물 콤보상자와 진료방법콤보상자 옆에 추가등록 버튼을 만들어 넣자



위에 새로 붙인 두개의 버튼을 크릭하면..
MultiPage의 두번째페이지로 이동하고 관련된 콘트롤만 활성화되고
나머지는 비활성화시킨다..아래의 그림과 같이



앞페이지에서 진료진행테이블과 DB테이블을 연결하는 것을 충분히 이해하셨다면
위의 인터페이스에 해당 DB테이블에서 관련 정보를 로딩시킬수 있을 것이다
각자 해보시는 숙제!!!!

***[LOG-IN]***

정보의 관계를 설계한다고 하는 것은
해당 회사나 조직의 업무의 흐름과 발생하는 정보의 연관성을 알고 있다는 것이 된다
그러니, 어떤 회사나 조직의 DB를 구성하는 것은 비밀을 속속들이 알아야 하는셈이다
그래서 흉흉한 회사나 조직은 DB를 만든다는 것을 꺼려한다
회사내의 업무의 흐름을 DB에 표현한다고 할때
업무의 내용이 비밀이 없아 맑아진다고 보면 될 것이다
비자금등 어떤 확실한 명분이 없는 자원의 흐름을 표현할수 있는 자신이 있을때 가능하다
그래서 DB 접근허용자가 분류구분되어야 할 것이다
지금 쌤플로 만들어서 사용하고 있는 테이블들도
애완동물하나가 병원에서 진료받은 비용이 그대로 노출이 된다,즉 병원의 진료를 통한
수입이 그대로 노출되는 셈이다
그래서 입력하는 사람과 분석하는 사람과 정보를 보는
관리 부분이 당연히 분리가 되어야 할 것이다
수입총액을 입력하는 사람은 알지 못하게 하거나,
전체적인 분석을 하는 사람 또한 그렇고..접근의 허용권한이 구분되어야 할것이다
아무튼 그런 것이 있다 치고

우선은 애완동물 하나가 새로 병원에 왔다면
새로 등록을 해야 한다
이때 애완동물의 주인도 같이 신규 등록되어야 할 것이다
하지만 앞에서 이야기 했듯이 같은 주인이 여러개의 애완동물을 갖고 있을수 있으니
기존주인으로 설정을 하기도 하고 , 혹은 주인도 신규등록을 하여야 하는 경우도
있으므로 고객신규등록도 필요한 것이다
그런 인터페이스를 만들어야 겠지..
우선 애완동물을 새로 등록하려면 아래의 그림과 같이
사용자가 편리하게 선택하고 입력하게 하는 프로그래밍으로서의 삽질이 필요하겠지



[고객목록채우기],[애완동물타입],[애완동물상태타입],[진료타입목록채우기]그리고
현재 등록된 [애완동물]목록을 참고로 보여주는 것이 좋을 것이다
각콤보상자의 목록채우기는 이미 작성한 콤보상자채우기
프로시져의 매개변수만 수정하고 추가 활용하면 되겠다

하지만 [애완동물]목록을 보여주려면..애완동물의 주인이름을 나타나게 하여야 하는데
[애완동물]테이블은 주인이름이 나타나지 않고 주인이름의 ID값이 나타나게 되어있다
그러니 [애완동물]+[고객]테이블을 연결하는 SQL문을 작성하여야 한다
역시 Access의 Query디자인도구를 아래와 같이 사용하면 간단하니까..
하나도 걱정할 것이 없다
그림과 같이 필요한 휠드를 끌어다 놓고,
실행버튼을 크릭하여 나타난 결과쿼리테이블을 확인하여,원하는 휠드가 정상으로
만들어졌다고 확인되면 SQL문을 복사하여 사용하면 되는 것
물론 이것없이 그냥 SQL을 자판을 두들겨서 작성해도 되지만
고수들도 테이블명, 휠드명이 헷갈리기때문에 이런 도구를 자주 활용하게 된다



첨부화일의 모듈에 주석으로 이번화일에서 추가 수정한 부분을 설명하였으니
확인하시고, 여러분이 한것과 비교하여 보시기 바란다..
그리고 저장버튼을 크릭하여 DB의 해당테이블에 저장하고, 저장한후 인터페이스의
어떤 부분을 갱신하여야 하는지 연구들 하시는 것이 다음 숙제!!!!

***[LOG-IN]***