※ 아래 Daily Tip은 최천군님이
제공해주신 내용입니다.
엑셀에서 데이터베이스 서버에 접근하여 원하는 데이터를 가져오려면
데이터, 외부 데이터 가져오기, 데이터 가져오기를 시행하여 수행 할 수 있습니다.
단 테이블이나 쿼리에 있는 데이터를 그대로 가져올 뿐 조건을 주고
원하는 데이터만 필터링하여 가져올 수는 없습니다.액세스를 이용하면 고급필터처럼 조건을 주고 원하는 데이터만
가져올 수 있습니다.
먼저 고급 필터의 조건 테이블처럼 조건 내용을 기입하여 필터링 정보를
줄 테이블을 아래와 같이 만듭니다. 그리고 그 범위에 이름을 정의해 둡니다. 예제는 조건이라는
이름을 주었습니다.
액세스를 열고 새 데이터베이스 파일을 만든 후 테이블 연결을
클릭합니다. 아래처럼 연결 대화상자가 열리면 파일형식 항목에서 ODBC 데이터베이스
()를 클릭합니다.
만들어 둔 파일 데이터 원본이나 컴퓨터 데이터 원본을 선택하고 확인
버튼을 클릭합니다.
원하는 테이블이나 쿼리테이블을 선택하고 확인 버튼을 클릭합니다.
데이터베이스 서버의 테이블과 연결 되었습니다.
ODBC 생성방법은 액세스 묻고 답하기에서 사용자팁을 보시면 ODBC
네트워크 설정법 이라는 제목으로 올라가 있습니다.
MDB 파일과 연결하는 방법이지만 다른 데이터베이스 서버와 연결하는
방법도 동일한 절차이며 각각의 데이터베이스 ODBC 드라이브가 연결정보가 서로 다르기 때문에 연결 대화상자가
조금씩 다릅니다.
이제 엑셀에서 조건 내용을 받을 테이블을 연결할 차례입니다. 이것도
역시 연결테이블을 이용해도 됩니다. 이에 대한 설명은 이전 데일리 팁에서 다루었으므로 오늘은 쿼리의
In-sentence를 이용하여 간단하게 파일형식의 외부 데이터를 참조하는 방법을 소개하겠습니다.
쿼리를 새로 생성하고 SQL 보기로 전환합니다.
다음과 같이 SQL구문을 작성합니다.
SELECT *
FROM [Excel 8.0;Database=C:\폴더명\파일명.xls].조건 |
위의 SQL문은 In-sentence에서 In이 생략된 형태입니다.
위의 쿼리문은 엑셀파일의 정의된 조건을 테이블로 참조할 때이고
Sheet를 테이블로 참조하려 할 때는 시트명 뒤에 ‘$’ 문자를 주어야 합니다.
SELECT *
FROM [Excel 8.0;Database=C:\폴더명\파일명.xls].Sheet1$ |
위와 동일한 방식으로 외부 MDB파일의 데이터를 쿼리로 참조할 수
있습니다. 이때는 대괄호 안에 단순히 파일의 경로 정보만 주면 됩니다.
SELECT *
FROM [C:\폴더명\파일명.mdb].테이블 또는 쿼리명 |
.mdb는 생략할 수 있습니다.
위와 같이 외부파일의 데이터를 불러서 내부의 테이블과 조인 시킬 수
도 있습니다. 물론 외부 데이터끼리 조인 시킬 수도 있습니다.
SELECT *
FROM [Excel 8.0;Database=C:\폴더명\파일명.xls].조건 INNER
JOIN [C:\폴더명\파일명.mdb].Query1 ON 조건.OrderID =
Query1.OrderID; |
대괄호 안에 ODBC 정보를 주면 서버형 데이터베이스에서 데이터를
조회할 수도 있습니다.
우리의 목적을 달성하기 위해 아래와 같이 SQL문을 만들어 조건이라는
이름으로 쿼리를 만들어 둡니다.
이제 조건에 의해 걸러지는 데이터를 생성하기 위해 아래처럼 쿼리를
작성합니다.
조건문의 내용은 다음과 같습니다. 한 필드의 조건입니다.
IIf(IsNull(DFirst("OrderID","조건")),True,[dbo_Orders.OrderID]=DFirst("OrderID","조건")) |
QBF를 설명할 때 소개한 방법과 동일합니다. 다만 폼의 컨트롤이름이
들어갈 부분에 DFirst("OrderID","조건")) 이와 같이 DFirst() 도메인
함수를 사용하였습니다.
이제 저장하고 액세스를 종료합니다.
엑셀 파일을 열고 데이터, 외부 데이터 가져오기, 새 쿼리 만들기를 클릭합니다.
MS Access Database*를 더블 클릭합니다.
예의 만들어 둔 액세스 파일을 찾아 선택하고 확인 버튼을 클릭합니다.
아래와 같이 테이블 및 쿼리테이블을 선택할 수 있는 상자가 열립니다. 아까 만들어 둔 쿼리를 선택하고 [ >
] 버튼을 클릭합니다.
다음
버튼을 눌러 계속 진행 합니다.
마지막으로 확인 버튼을 클릭하면 아래와 같이 데이터가 나타납니다.
조건 범위에 조건을 주고 외부 데이터 도구 상자에서 느낌표 버튼을
클릭하면 아래와 같이 조건에 따라 필터링된 데이터만 나열 됩니다.
|