드로우홀릭 더베이직
안녕하세요. 우연히 이곳을 알게 되어 강의 보면서 공부 하고 있습니다.
공부를 쭉~하고 DB를 짜기에는 시간이 촉박해서 강의 보면서 이것 저것 해보고 있습니다.
팀데이터 강의 보다가 기본 개념이 잘 이해가 안되어 오피스튜터에서 기초강의부터 다시 보고 있는 수준입니다.
1차적으로 쇼핑몰을 운영하는데 재고관리, 가격관리, 진열관리 등을 자동으로 하는게 목표입니다.
질문입니다.
1. 엑세스에서는 한개씩 밖에 셀의 내용이 복사가 안되나요?
행단위로는 복사가 되는 데 엑셀처럼 한개의 값을 여러개의 열에 동시에 복사할 수 있나요?
2. 연결 테이블 관리자라는 것이 있던 데 강의 내용중엔 없더라구요. 추천하지 않는 기능인가요?
기존 DB가 10만행 정도 되고 아직은 액세스가 익숙치 않아서 기초 RAWDATA 를 엑셀에서 관리하려고 합니다.
3. 튜터링을 보니 2주 사용기간이던데 2주가 지나면 1시간이 남아도 사용할 수 없는건가요?
[ 현재 작업흐름 ]
- 파일 1. 쇼핑몰DB.XLS
2. 볼트류 상품가격관리-재고관리DB.XLS
3. 공구도매처에서 주기적으로 다운받는 상품정보 RAWFILE.XLS
- 상품 수정을 해야할 경우 1번 파일을 수정하여 쇼핑몰관리자에서 업로드 합니다.
- 가격변동 재고변동시 2번파일에서 가격계산한 후 그 값을 1번 파일에 다시 입력합니다.
- 3번 파일을 일주일 단위로 다운받아 변동이 있으면 1번에 반영합니다.
[ 만들려는 DB ]
- 1번과 2번을 한테이블 또는 여러테이블에서 관리하고 쿼리로 업로드용 항목 추출
- 3번을 기존 데이타와 비교하여 변경된 부분은 기존 테이블에 수정 반영하고 신규상품은 DB에 추가
감사합니다.
답변 감사합니다.
튜터링은 우선 신청했습니다.
추후에는 액세스든 다른 툴이든 개발을 계획하고 있구요.
우선은 현재 사용하는 부분을 만들어보면서 개발하는 것이 적합한지 판단해보려고 합니다.
사용인원은 현재 2명 입니다.
주말에 기초적인 수준으로 만들어보았는데요. 또 몇 가지 궁금증이 생겨 질문드립니다.
저희 상품DB가 10만행 정도 됩니다.
추후에 상품군을 추가하면 20만행, 30만행 이상이 될 수도 있습니다.
현재 주 목적은 재고 관리와 판매가 관리 입니다.
재고관리를 쇼핑몰 관리자에서 하기는 힘듭니다.
쇼핑몰 관리자에서는 수량을 무한대로 설정해 놓고 현재는 엑셀에서 쇼핑몰DB로
입고수량 +, 판매수량 - 를 하고 있습니다.
질문입니다.
1. 10만행 전체를 EXCEL 로 내보내기 하려고 하니까 65536행까지만 내보내기가 되던데
그 이상은 안되는 건가요?
2. 상품군이 여러가지라서 어떤 종류는 매입가를 직접 입력하고 어떤 종류는 중량 대비 계산식으로
계산을 해서 엑세스에서 일일이 입력은 힘들 것 같아 업데이트쿼리를 해봤는데
이것도 10만행의 한 열을 업데이트 하려니 2GB.. 어쩌구 나오면서 실행이 안되더라구요.
다른 방법이 없는 건지요?
3. 10만행 DB 테이블에서 계산필드를 만드는데 이것도 파일 공유 잠금횟수가.. MAXLOCKSPERFILE..
나오면서 안됩니다. ㅠ
답변 부탁드립니다. 감사합니다.
1.
2. '2GB 어쩌구' 나오면서 실행이 안 된다면, 액세스 DB 크기 제한에 걸린 것입니다.
이 문제를 해결하려면.. 1) '데이터베이스 압축 복구' 후 다시 업데이트 작업을 해 보십시오.
그래도 안되면, 2) 업데이트 되는 행의 수를 최소화 해 보십시오.
업데이트 쿼리를 사용할 때, 계산 결과가 같은데도 업데이트하는 경우가 있는데, 이 경우를 업데이트 작업에서 빼는 것입니다.
3) 그래도 안 된다면, 방법이 없습니다. SQL Server로 이전해야 합니다.
SQL Server 무료 버전은 DB당 10GB의 크기 제한이 있습니다.
유료 버전은 사실상 용량 제한이 없고요.
3. 이 문제는, 1) 아무도 사용하지 않을 때, DB를 '단독'으로 열어서 시도해 보십시오.
그래도 안 되면 이것도 방법이 없습니다. SQL Server로 이전해야 합니다.
경험하시는 것을 보니, SQL Server로 이전할 때가 되었다고 봅니다.
아니면 DB를 잘 못 사용하는 것일 수도 있습니다.
원래 DB라는 것은 그렇게 대량의 업데이트 작업이 일어나면 안 되는 것입니다.
대량의 업데이트가 간혹 필요하다면, 해당 필드를 별도의 빠는 방식으로 해결하는 것이 맞을 수도 있습니다.
1번 질문에는 아직 답을 못 달았네요.
내보내기를 어떻게 하였는지 모르겠습니다만..
DoCmd.TransferSpreadSheet 메서드를 이용하시면 됩니다.
이 메서드를 이용하면 오피스 2007 버전부터는 1백만 행을 내보내기 할 수 있습니다. (내보내기 파일 형식을 'acSpreadsheetTypeExcel12Xml'으로 해야 합니다. xlsx 파일을 의미합니다.)
다만, 이 메서드는 '테이블'만 대상으로 합니다.
따라서 이 메서드로 대량의 데이터를 내보내려면, 원하는 데이터를 임시 테이블에 복사해야 하겠지요.
꼭 엑셀 파일로 받아야 되는 것이 아니라면..
대용량 데이터는 텍스트 파일로 다운받는 것을 권장합니다.
CSV 파일로 다운받는다면, 행 수 제한 없이 다운로드 받을 수 있습니다.
쇼핑몰 관리가 목적이라고 하셨는데, 잘 되기를 기원합니다.
1. 붙여넣기 할 때, '레코드 선택기'를 클릭하고 붙여넣기하면 레코드 단위로 붙여넣을 수 있습니다.
여러 레코드도 한꺼번에 붙여넣을 수도 있습니다.
'레코드 선택기'는, 일반적인 폼이라면 폼의 가장 왼쪽에 있고요, 데이터시트 폼에서도 폼의 가장 왼쪽에 있는 조그마한 공간입니다.
2. '연결 테이블 관리자'는 데이터베이스를 '공유'할 때 사용하는 기능입니다. 추천하지 않는 기능은 아닙니다.
저도 테이블을 공유해서 사용할 때에는 잘 사용합니다.
그러나 10만행 정도 된다면, 그리고 여러 사용자가 사용한다면 SQL Server를 사용하기를 추천드립니다.
3. 튜터링 이용권의 '2주' 같은 것은 중요하지 않습니다. 그냥 상품명입니다.
튜터링 이용권의 '시간'이 중요하며, 유효기간은 없습니다.
1년동안 2시간 사용하실 수도 있고, 하루에 2시간을 모두 사용하실 수도 있지요.
그리고 현재 '작업흐름'과 '만들려는 DB'를 적어 주셨는데, 대략 어떻게 일하시는지는 알겠습니다.
그런데, 그런 작업을 혼자 공부해서 하는 것은 정말 쉽지 않습니다. 시간도 오래 걸리고요.
무엇보다 DB 개념을 혼자 익히는 것이 정말 큰 관문일 것입니다.
만약, 문제를 (비용을 들여서라도) 빨리 해결하고 싶다면, 튜터링을 적극 권장합니다.