처음 계획은 거창하지 않았다.
오래 사용해 온 Access 회계 파일에서 몇 가지 이상한 동작을 바로잡는 것.
온라인으로 들어온 금액과 현장에서 받은 금액을 나눠 입력하고, 필요한 화면에서는 둘을 따로 대조하고, 검색과 출력에서는 다시 전체를 볼 수 있게 만들고 싶었다. 여기에 메뉴 버튼을 조금 정리하고, 수입 자료가 엉뚱한 지출 항목과 연결되며 같은 내역이 여러 곳에 나타나는 문제도 고쳐야 했다.
그런데 점검을 마친 뒤 예상하지 못한 반전이 생겼다.
“파일 완전 다 삭제했어.”
수정본도, 시험본도, 중간 파일도 모두 사라졌다. 순간적으로는 처음부터 다시 해야 하는 것처럼 느껴졌다. 하지만 없어진 것은 파일이고, 문제를 찾아가며 정리한 원인과 설계는 대화와 기록 속에 남아 있었다.
입력칸 하나를 추가한다고 끝나는 일이 아니었다
온라인·오프라인 구분은 필드 하나를 추가한다고 끝나는 문제가 아니었다. 어디에서는 나눠 보여주고, 어디에서는 합쳐 보여줄지 업무 기준부터 정해야 했다.
- 온라인과 오프라인 자료는 각각 전용 화면에서 입력한다.
- 현장 대조 화면에서는 온라인 금액을 제외한다.
- 전체 검색과 엑셀 출력에서는 두 금액을 합산한다.
- 기존 자료에는 새 구분값이 없어도 이전처럼 조회되어야 한다.
- 예산표, 보고서, 출력물 등 다른 기능은 그대로 보존한다.
같은 숫자라도 사용하는 사람과 화면에 따라 의미가 달랐다. 입력 담당자에게는 구분이 필요하고, 대조 담당자에게는 현장 금액만 필요하며, 전체 보고를 보는 사람에게는 다시 합계가 필요했다. 프로그램을 고친다는 것은 결국 사람들이 숫자를 확인하는 순서를 코드로 옮기는 일이었다.
중복 표시의 범인은 숫자가 아니라 연결 조건이었다
또 하나의 문제는 특정 수입 내역이 관련 없는 여러 항목에 중복으로 나타나는 현상이었다. 처음 보면 자료 자체가 중복 저장된 것처럼 보이지만, 실제로 의심해야 할 곳은 검색과 연결 조건이었다.
수입은 수입 항목과만, 지출은 지출 항목과만 연결되어야 한다. 이 구분 조건이 빠지거나 느슨하면 이름이나 코드 일부가 같은 항목끼리 엉뚱하게 이어질 수 있다. 그러면 한 번 입력한 자료가 여러 분류에 걸쳐 나타나고 합계도 믿기 어려워진다.
그래서 다시 작업할 때의 원칙을 분명히 정했다.
- 원본 파일을 먼저 별도 백업한다.
- 자료를 직접 바꾸기 전에 테이블 관계와 쿼리 조건을 확인한다.
- 수입·지출 구분을 연결 조건에 명시한다.
- 수정 전후 건수와 합계를 비교한다.
- 검색 화면뿐 아니라 엑셀 출력과 기존 보고서까지 함께 검증한다.
화면에서 중복 한 줄이 사라졌다고 수정이 끝난 것은 아니다. 다른 보고서의 합계가 달라지지 않았는지까지 확인해야 비로소 안전한 수정이다.
그러다 나온 질문, “요즘도 Access를 쓰나?”
파일을 주고받고 한 컴퓨터에서 작업하는 과정을 이야기하다 보니 자연스럽게 질문이 하나 더 생겼다.
“요새는 다 온라인 사이트에서 입력하고 저장하지 않나?”
웹 시스템으로 바꾸면 담당자는 주소에 접속해 로그인하고, 입력한 자료는 서버의 데이터베이스에 저장할 수 있다. 여러 사람이 같은 최신 자료를 보고, 사용자별 권한을 나누고, 누가 언제 무엇을 수정했는지도 기록할 수 있다. USB로 파일을 전달하다가 “어느 것이 최신본이지?”를 고민할 일도 줄어든다.
다만 웹사이트라고 해서 일반 홈페이지처럼 공개하는 것은 아니다. 이름과 금액이 포함될 수 있는 민감한 자료이므로 내부 업무용으로 운영하고, 다음 조건을 갖춰야 한다.
- 사용자별 로그인과 최소 권한
- 입력·검토·승인 역할의 분리
- 전송 및 저장 데이터 보호
- 자동 백업과 복구 절차
- 접속 및 변경 이력
- 정기적인 보안 업데이트
서버도 필요하지만 꼭 사무실 한쪽에 커다란 장비를 들여놓아야 하는 것은 아니다. 관리형 클라우드 서버를 이용할 수도 있고, 내부망에서만 작동하게 만들 수도 있으며, 이미 운영되는 관리형 서비스를 선택할 수도 있다. 규모와 예산, 외부 접속 필요성, 관리할 사람의 유무에 따라 답이 달라진다.
Access는 오래됐지만, 오래됐다는 이유만으로 버릴 수는 없다
Access가 요즘 방식은 아닌 것이 사실이다. 동시 사용, 자동 백업, 변경 이력, 원격 접속에서는 웹 시스템이 훨씬 편리하다.
하지만 오래 사용한 Access 파일에는 화면에 보이는 것보다 많은 업무 규칙이 숨어 있다. 각종 검색, 엑셀 출력, 예산표, 보고서, 인쇄 기능, 연말 처리처럼 평소에는 당연하게 쓰던 기능이 새 시스템에서는 전부 다시 만들어야 할 요구사항이 된다.
그래서 현실적인 순서는 “당장 전부 새로 만들기”가 아니었다.
- 실사용 원본에서 명확한 오류를 먼저 안전하게 수정한다.
- 실제 입력부터 보고까지의 흐름을 문서로 남긴다.
- 백업과 파일 전달 방식을 정리한다.
- 필요한 기능과 권한을 충분히 파악한 뒤 웹 전환 범위를 결정한다.
- 기존 결과와 새 시스템의 건수·합계를 나란히 검증하며 단계적으로 옮긴다.
작은 조직에서 한두 명이 정해진 업무를 처리한다면 Access는 아직 실용적일 수 있다. 반대로 여러 사람이 동시에 입력하고 즉시 공유해야 한다면 웹 전환의 이점이 커진다. 중요한 것은 도구의 나이가 아니라 업무에 맞고, 자료를 안전하게 지키며, 틀렸을 때 되돌릴 수 있는가였다.
파일은 삭제됐지만 다음 작업은 처음부터가 아니다
현재 손에 남아 있는 완성 파일은 없다. 따라서 이 기록은 “프로그램을 완성했다”는 성공기가 아니다. 원본을 다시 받았을 때 무엇을 어떻게 확인하고 고칠지 정리한 진단과 설계의 제작 노트다.
다음 실사용 원본이 도착하면 먼저 복사본을 만들고, 온라인·오프라인 구분과 입력 화면, 메뉴 버튼, 수입·지출 연결 조건을 차례로 적용할 예정이다. 시험용 숫자를 억지로 끼워 넣지 않고, 수정 전후의 건수·합계·검색 결과·엑셀 출력이 모두 일치하는지도 확인해야 한다.
이번 일에서 가장 인상 깊었던 장면은 파일이 사라진 순간이었다. 그런데 역설적으로 그 덕분에 알게 됐다.
좋은 제작 기록은 파일을 대신할 수는 없어도, 다시 만드는 길을 잃지 않게 해준다.
다음에는 원본도, 백업도, 제작 기록도 함께 남길 것이다. 파일은 한 번 사라졌지만, 이번에는 설계까지 사라지게 두지는 않을 생각이다.
※ 민감한 업무 정보 보호를 위해 조직명, 담당자명, 실제 항목명, 파일명, 금액 및 식별 가능한 자료 구조는 공개하지 않았습니다. 이 글은 실제 자료가 아닌 작업 원칙과 설계 과정만 정리했습니다.