Excel 2007에서 매개 변수를 사용하여 SQL 쿼리 실행


21

Excel 테이블에 쿼리가 있습니다. 나는 다음 그것을 할 수 있습니다.

그러나 셀의 매개 변수를 쿼리에 어떻게 추가 할 수 있습니까?

이 작업을 수행하는 방법을 찾고 있습니다.

select *
from dbo.Customers
where CustomerID = Cell.A2

Cell.A2은 작동하지 않습니다. 그러나 셀 내용이 쿼리에 사용되도록 이와 같은 것을 어떻게 추가 할 수 있습니까?


셀 이름을 지정하고 셀 참조 대신 쿼리에서 이름을 사용하려고 했습니까?

답변:


17

MS가 왜 그렇게 복잡하게 만들 었는지 모르겠습니다. Microsoft Query를 사용해야합니다.

데이터-> 외부 소스에서-> Microsoft 쿼리에서를 클릭하십시오. CHoose Data 소스가 나타납니다. SQL Server를 선택하고 인증 세부 사항을 입력 한 후 테이블을 선택하십시오.

여기에 이미지 설명을 입력하십시오

다음을 클릭하고 필터링 기준을 선택하지 말고 기준으로 정렬을 선택하고 다음을 클릭하십시오. 이제 Return to Excel을 선택하는 대신 MS Query에서 View / Edit을 클릭하십시오.

여기에 이미지 설명을 입력하십시오

Finish를 클릭하십시오. 이제 MS Query에서 Criteria-> Add Criteria를 클릭하고 연산자를 선택하고 값을[]

여기에 이미지 설명을 입력하십시오

File-> Excel로 데이터 반환을 클릭하십시오. 이제 Excel에서 매개 변수를 묻는 메시지가 표시되면 관련 셀을 선택하십시오.

여기에 이미지 설명을 입력하십시오

매개 변수를 편집하려면 데이터-> 특성-> 손가락 아이콘-> 정의-> 매개 변수를 클릭하십시오.

여기에 이미지 설명을 입력하십시오


SQL 쿼리 편집기를 사용하고 조인을 사용하여 쿼리를 입력 ?하고 매개 변수를 가져와야하는 필드에 대해를 넣을 수도 있습니다.

여기에 이미지 설명을 입력하십시오


아아, 매개 변수가 비활성화되어 있습니다.
Vaccano

@Vaccano : 내 대답을 수정했습니다. 살펴보세요
Sathyajith Bhat

이 Sathya에 노력해 주셔서 감사합니다. 아아 나는 내 쿼리에 조인이 있기 때문에 MS Query가 그래픽으로 표시 할 수 없다는 것을 깨달았다. 따라서 매개 변수를 가질 수 없습니다. VBA 기능으로 만들 것입니다. 나는 당신의 대답이 너무 완벽했기 때문에 당신에게 끄덕임을주었습니다.
Vaccano

2
@Vaccano : SQL 편집기를 사용하여 쿼리를 작성하고 ?매개 변수를 선택
해야하는

2
쿼리가 Excel에 있으면 MS Query로 다시 이동하지 않고도 쿼리 매개 변수 화면으로 이동하여 편집 할 수 있습니다. 그냥 드롭? 기준이가는 곳. 그런 다음 연결 속성 화면으로 돌아가서 해당 매개 변수를 스프레드 시트의 셀에 지정하십시오.
Tracy Probst

1

뻔뻔스런 플러그에 너무 늦지 않았습니다 ...

Excel 용이 훌륭한 작은 플러그인 이 있습니다 ... (면책 조항 : 저자입니다)

데이터베이스 엔진과 SQL IDE를 Excel에 추가하는 Excel 플러그인입니다.

Excel에서 테이블로 표시된 모든 항목에서 SQL 작업을 수행 할 수 있습니다. 통합 문서를 쿼리하고 동일한 쿼리에서 외부 데이터베이스 (SQL Server / Sqlite / Postgres / Access / MySql)의 테이블을 사용할 수도 있습니다.

SQL 구문 강조, 문 완성 및 기타 멋진 것들이 있습니다. 후드 아래에서 SQLite를 사용하지만 외부 db 엔진을 사용하여 데이터를 처리 할 수도 있습니다.

나는 그것을 청구하지만 30 일 동안 사용할 수있는 무료 평가판이 있습니다. 이를 ThingieQuery라고합니다.

플러그에 대해 죄송합니다. 너무 부적절하지 않기를 바랍니다.


-1

가치를

where employeecode = '?'

그러면 매개 변수 버튼이 활성화되지만 확인을 누르면 프롬프트가 표시됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.