2013-04-12 2 views
0

내가 계정의 수에 대한 수입과 지출을 추적하는 Access 데이터베이스를 만들려고하고를 결정합니다.Excel에서 가져 오기를 액세스하려면, 열은 필드 값

내 어려움은 내 상사는 그렇게 할 기존 Excel 스프레드 시트를 사용해야 이러한 계정에 지출보고에 대한 책임이있는 사람들을 주장한다는 것입니다. Excel에서 가져올 수 있지만 시트의 기존 형식에 고정되어 있습니다.

간단한 형태에서

, 시트는 이러한 열이 있습니다

계정 ID를 || 비용 유형 A || 비용 유형 B || 비용 유형 C (기타)

미래에 새로운 유형의 비용을 추가 할 필요가 있으므로 테이블에이를 반영해야합니다.

그래서 같은 비용 테이블을 구성 할 생각했다 :

ACCOUNT_ID을 || Expense_Type || Expense_Date || 자신의 테이블에 저장 유형에 대한 자세한 정보와

을 양입니다. 하지만 스프레드 시트의 열을 레코드의 유형 분류에 매핑하는 방법을 알 수는 없습니다. 현재 5 가지 경비 종류가있는 약 300 개의 계좌가 있으며 둘 다 커질 수 있습니다.

아무도 도와 줄 수 있습니까? Excel 트릭이나 내 데이터베이스 설정 변경 또는 그 밖의 모든 작업을 수행 할 수있는 솔루션을 제공합니다.

추신. 저는 VBA 초심자입니다. 매크로 기록에만 사용했습니다. 당신이 Access에서 임시 테이블에 스프레드 시트를 가져온 후

+0

@pnuts은 행은 여러 항목이있을 수 있습니다. 아직 날짜 열이 없습니다. 현재 스프레드 시트는 매월 새로 만들어지고 누군가 특정 계정에 대한 기록을 원할 때 잘라내어 붙여 넣습니다 (Access로 이동하려는 몇 가지 이유 중 하나). 우리는 하루가 아닌 월 단위 부분 만 필요하므로 오래된 시트를 추가하기가 쉽습니다. – user2272584

답변

1

당신이 "드 크로스 탭"데이터

SELECT [Account ID] AS Account_ID, "Expense Type A" AS Expense_Type, 
     [Expense Type A] AS Amount 
    FROM TempTable WHERE [Expense Type A] IS NOT NULL 
UNION ALL 
SELECT [Account ID] AS Account_ID, "Expense Type B" AS Expense_Type, 
     [Expense Type B] AS Amount 
    FROM TempTable WHERE [Expense Type B] IS NOT NULL 
UNION ALL 
SELECT [Account ID] AS Account_ID, "Expense Type C" AS Expense_Type, 
     [Expense Type C] AS Amount 
    FROM TempTable WHERE [Expense Type C] IS NOT NULL 
0

불러 Alt 키와 함께 '오래된'피벗 테이블 마법사 다음 쿼리를 실행할 수 있습니다 + DP, 다중 통합 범위를 선택하고 피벗 테이블, 다음, 나는 페이지 필드를 만들 것이다 선택, 다음, 범위, 다음, 총계 교차로에 마침 두 번 클릭을 입력합니다. 엑셀 및 액세스 2010 Yes (예)를 사용