문제

이것은 아마도 간단한 질문 일 것입니다. 그러나 나는 내가 Excel에서 무엇을하고 있는지 잘 모르기 때문에 누군가가 나를 도울 수 있기를 바랍니다.

내 작업과 관련된 두 개의 관련 열이있는 Excel 스프레드 시트를 받았습니다. 첫 번째 열은 "외부 ID"이고 두 번째 열은 "내부 ID"입니다. 내부 ID를 키로 사용하여 데이터베이스에서 다양한 데이터를 선택해야하지만이 모든 데이터는 외부 ID에 다시 연결되어야하며 내부/외부 간의 유일한 링크는 다음과 같습니다. 이 스프레드 시트.

예를 들어, 스프레드 시트 행이 다음과 같습니다.

ExtID    IntID
AB1234   2

데이터베이스에 ID #2가있는 항목과 관련된 모든 데이터를 선택해야하지만 데이터베이스에서 "AB1234"를 얻을 수있는 방법이 없으므로 스프레드 시트를 사용 하여이 데이터를 "AB1234"와 관련시켜야합니다.

이것을 달성하는 가장 쉬운 방법은 무엇입니까? Excel의 버전은 Excel 2007이며 데이터베이스는 관련이 있다면 Oracle입니다.

프로덕션 데이터베이스에 대한 권한 만 읽기 만하므로 테이블을 작성하고 스프레드 시트 데이터를 가져 오는 것은 옵션이 아닙니다.

도움이 되었습니까?

해결책

주석에 따라 편집

1 - MS 액세스를 사용하여 Excel 시트를 테이블로 가져옵니다.

2 - MS 액세스 내에서 데이터베이스 테이블에 링크

외부 데이터 탭-> 기타 데이터 소스-> ODBC Connection-> 선택-> 원하는 테이블 선택

3 - 원하는 값을 비교하기 위해 액세스 쿼리를 작성하십시오.

작성-> 쿼리 디자인-> 원하는 테이블을 떨어 뜨리고 관계를 위해 줄을 드래그, 실행을 클릭하십시오.

다른 팁

일반적으로 나는 그러한 작업을 수행하기 위해 Macros와 함께 Copy-Paste 및 Macros가있는 좋은 열 모드 편집기를 사용합니다. 몇 개의 Excel 파일 만 있으면 잘 작동합니다.

많이 사용 가능한 도구에 익숙한 지에 따라 다릅니다.

친숙한 도구가 있습니까? 그렇다면 쿼리를 수행하고 결과를 intid와 함께 열 오른쪽 열의 원래 스프레드 시트에 다시 붙여 넣을 수 있습니까?

그렇다면 다음 열이있는 스프레드 시트를 갖게됩니다. Extid (Original) Intid (Original) Intid (Oracle) COL1 (Oracle) COL2 (Oracle) 등이 있습니다 ....

나는 Oracle에 익숙하지 않지만 많은 데이터베이스를 사용하면 # 또는 그와 비슷한 테이블 이름을 전제하고 온도 테이블을 만들 수 있다는 것을 알고 있습니다. 다른 사람들은 일을 만들 수있는 임시 데이터베이스가 있습니다. 때로는 다른 일을 할 수 없지만 선택하더라도 임시 테이블을 만들 수 있습니다.

당신이 그렇게 할 수 있다면, 나는 Josephstyons가 제안한 것처럼 (#2), 레코드를 임시 테이블에 삽입하고 그에 따라 쿼리를 수행합니다.

Excel 및 VBA를 사용하면 ADO (ActiveX Data Objects)를 특정 데이터베이스에 OLE DB 제공 업체를 사용하는 높은 수준의 방법으로 사용할 수 있습니다. 이를 통해 데이터베이스의 데이터를 읽은 다음 해당 데이터를 쿼리하고 스프레드 시트에 결과를 저장할 수 있습니다.

Oracle Ole DB 제공 업체
ADO 가이드

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top