0. 글을 시작하기 전에
나이가 들면 기억력이 감퇴된다는 것을 알았을 땐 이미 많은 중요한 기억들이 사라진 후였다. 나이를 먹었다는 것을 먼저 인지 했는지, 아니면 기억력이 감퇴 되었다는 것을 먼저 인지 했는지는 모르겠다. 다만 이제 일상생활의 불편함 뿐만 아니라 업무 능률에도 영향을 미치기 시작했다는 것이다. 심각성이 커진 것이다.
여러 날을 대책을 세우기 위해 보냈는데, 결론은 일단 적자는 것이었다. 되도록 노트를 만들어서 내가 배우고 깨달은 중요한 내용들을 적기위해 노력했다. 노트에 적는 것은 효과가 있었다. 그러나 세 가지 문제점이 있다는 것을 깨달았다. 첫째 나는 노트와 펜을 잘 가지고 다니지 않는다는 점이다. 대신 휴대폰과 아이패드(또는 갤럭시 탭)는 항상 가지고 다닌다. 정말 필요할 때 노트와 펜이 없었던 적이 왕왕 발생했다. 둘째 노트에 적어 놓은 것을 찾지 못하는 경우가 발생했다. 더욱이 노트가 바뀌면 이 문제는 더 심각해졌다. 셋째 단편적인 메모를 정보로 만들기 위해서는 구조화가 필요한데, 노트에 적는 것만으로는 부족하다는 점이다. 여기에 대해 두 가지 해결책을 세웠는데, 첫째가 되도록 전자노트-휴대폰, 태블릿의 앱등을 이용한 노트-를 사용하자는 것이고, 둘째가 블로그를 만들자는 것이다. 물론 내가 가진 모든 지식을 블로그로 만들 수는 없다. 그러나 블로그 형식으로 만들수는 있고, 이 중 공개가 가능한 지식은 공유해서 필자와 같은 어려움을 겪었던 사람들에게 도움을 줄 수 있다.
내가 이글을 읽어주기를 바라는 사람들은 나와 같이 기술개발 업종에 종사하는 회사원(또는 학생)들이다. 특히 데이터베이스로 인해 골머리를 앓은 적이 있거나 앓고 있는 사람들 - 꼭 골머리를 앓아야만 하는 것은 아니다. - 이었으면 좋겠다. 물론 이 사람들만이 도움이 될 것은 아니라고 생각한다. 오히려 정보기술분야에 종사하시는 분들은 더 이해가 쉬울 것이라 생각한다. 여기까지가 이 블로그를 시작하게된 계기가 되겠다. 이제부터 본격적으로 이야기를 시작해보자.
1. 글에 담게될 내용
앞서 이야기 했던 것 처럼, 이 글은 공개가능한 사적인 기록이다. 따라서 독자들보다 필자 자신을 위해 쓰는 글이다 보니, 차근차근 설명해 가는 것 보다는 일단 갑작스럽게 어떤 주제가 나오고 설명도 중언부언일 수 있다. 이런 점은 독자들께서 넓은 마음으로 이해해 주기 바라며, 앞으로 글에 담게될 내용은 대부분 엑세스 VBA 예제들이 될 것이다. 그러나 각 주제들은 필자의 변덕에 의해 결정될 예정이므로 필자조차 예측은 할 수 없다. 다만 매 주 1개의 주제에 대해 글을 쓸 것이고 - 다루게 될 주제가 심도가 있으면 몇 주 동안도 다루게 될 수 있다. -, 약 10주에서 15주 정도는 계속할 예정이다.
2. Hello World
역시 프로그램의 시작은 Hello World가 가장 좋겠다. 이 주제에서 DB는 없다. 단지 아주 간단한 폼과 메세지 박스가 있을 뿐이다. 자 첫 주제를 시작해보자
필자가 사용하는 오피스는 2007 버젼이다. 독자들의 오피스가 2007 보다 상위 버젼이라도 상관없고 하위버젼이라도 2003까지는 큰 문제가 없을 듯 하다. 어쨌든 액세스를 시작하면 아래와 같은 화면이 나타난다.
그러면 아래와 같은 화면이 나타난다. 화면 상단의 메뉴에서 '만들기'를 선택한다.
만들기 하위의 메뉴가 아래 그림같이 열리고, '폼 디자인'을 선택한다. 액세스가 현재 열려있는 테이블을 저장할 것인지를 물어온다.
테이블의 이름을 아래 그림과 같이 'Hello'라고 하자.
디자인 형태의 '폼'이 열린다. 만약 이런 형태의 폼이 아니라면 아래 그림과 같이 화면 왼쪽 상단의 '보기'를 '디자인 보기'로 바꾸면 된다.
숙달되면 아주 간단한 과정이므로 이 글 이후에서 이 과정은 생략할 것이다. 다음은 화면 상단의 디자인 탭에서 아래 그림과 같이 '단추'를 선택한 후 폼 영역에 배치를 시킨다. '단추'를 선택하면 커서가 단추모양으로 바뀌는데, 폼 영역에 단추를 배치할 위치를 클릭한 후 단추 크기만큼 드래그하면 단추가 생성된다. 단추가 생성되면 자동으로 단추에 부여할 기능에 대한 다이얼로그 박스가 아래 그림과 같이 팝업되는데, 우리는 직접 VBA 코드를 입력할 예정이므로 '취소'를 선택한다.
다이얼로그 박스가 사라지면 화면 우측의 속성시트를 보자. 이 때 폼 영역의 단추가 선택되어있는지를 확인하자. 만약 선택이 안되어있다면 속성시트는 단추가 아닌 다른 객체의 속성을 나타내게 된다. 속성시트는 '형식', '데이터', '이벤트', '기타', '모두'의 5개 탭으로 구성되어 있다. '형식' 탭을 선택하고 'Caption'의 내용을 Hello로 변경하자. 기본적으로 'Command0'가 입력되어 있었을 것이다.
이제 폼의 단추를 보면 단추에 쓰여진 캡션이 Hello로 변경되어 있다. 다음은 폼을 선택한 후 속성시트의 '기타' 탭에서 팝업 항목을 '예'로 바꾸자. 이렇게 바꾸는 이유는 나중에 설명하겠다.
다시 단추를 선택하고 속성시트의 '이벤트'를 선택한 후, On Click 우측의 '...' 단추를 선택하자.
그러면 단추를 On Click(한번 클릭) 했을 때 어떻게 이벤트를 만들것인지 선택하는 창이 팝업된다.
우리는 VBA를 이용하여 코드를 작성해야 하므로, 코드 작성기를 선택한다. 아래와 같은 코드 작성기 창이 나타난다. 우리가 만들어 놓은 Command0_Click에 대해 이미 일부 코드가 작성되어 있다. 다만 클릭했을 때 작동되는 실제 내용만 없을 뿐이다.
자 내용을 아래와 같이 채워 넣자. Hello 단추를 선택하면 메세지 박스를 팝업 시키는데, 메세지 박스에는 Hello World가 나타난다는 내용이다. 메세지 박스 중 가장 간단한 예이지만 아주 유용하게 써먹을 수 있다. 메세지 박스에 나타낼 내용을 " "를 이용하여 직접 쓸수도 있지만 String 변수를 써서 나타낼 수 있다. 다음 주제는 메세지 박스에 대해 알아보도록 하자.
자 코드를 입력했으면 실행해 보도록 하자. 실행에 앞서 폼을 저장한다. 폼의 이름은 Hello로 입력한 후, 화면 좌측 상단의 '보기'를 '보기'로 선택하자.
아래와 같이 폼이 나타난다. 만약 폼의 팝업 속성을 '아니오'로 설정하면 아래와 같이 창 형태가 아닌, 화면 전체를 채우는 형태로 나타난다. 독자들은 시험을 해보시라.
이제 Hello 단추를 클릭하면 메세지 박스가 팝업된다. 확인단추를 클릭하면 메세지 박스는 사라진다.
댓글 없음:
댓글 쓰기