2012-09-11 4 views
1

매월 SQL Server 비즈니스 응용 프로그램의 "새"데이터를 모든 "관리 보고서"가 포함 된 Access 2010 데이터베이스로 가져와야합니다. Access 데이터베이스에는 보고서의 기반이되는 원시 데이터를 포함하는 "준비 테이블"이 있습니다.SQL Server 쿼리 결과를 Access 2010 테이블에 복사

나는 더 액세스 경험이 없지만, 나는 우리가 제안 : (. ...이 비트가 쉽다)

  1. 쿼리 (? 저장된 프로 시저를) 작성에 필요한 원시 데이터를 반환하는 우리의 SQL 서버에
  2. 매월 말 Access 2010 내에서 SQL Server 저장 프로 시저를 호출합니다 (... 단추를 클릭하십시오.)
  3. 저장 프로 시저의 결과를 Access의 준비 테이블에 저장하십시오.

그러나 예상보다 어렵습니다. 나는 코드북에서 ADODB를 사용하여 추악한 작업을하고, 레코드 세트의 행을 하나씩 반복 한 다음 하나씩 값을 설정한다고 생각합니다. 그러나 더 좋은 방법이 있어야합니다.

  • Access 2010에서 SQL Server 데이터를 가져 오는 방법은 무엇입니까? (ADODB? DAO? QueryDesigner? other?)

  • 내가 활용할 수있는 "Insert Recordset Into Table"(또는 유사한) 메커니즘이 있습니까?

답변

1

관련 SQL Server 테이블 또는 뷰를 MS Access에 링크하십시오. MS Access 구문을 사용하여 연결된 테이블에 대해 쿼리를 실행하고 스테이징 테이블을 업데이트하십시오.

쿼리에서 SQL Server 용 연결 문자열을 사용하여 MS Access 테이블을 업데이트 할 수도 있습니다.

SELECT * 
INTO newtable 
FROM [odbc;filedsn=Z:\DSN\test.dsn].table1 

SQL Server 끝에서 작업하면 연결된 서버로 MS Access를 사용하거나 거기에서 쿼리 및 업데이트를 실행할 수 있습니다.

INSERT INTO 
OPENDATASOURCE(
    'Microsoft.ACE.OLEDB.12.0', 'Data Source=z:\docs\test.accdb')...[table1] 
    (atext) 
SELECT atext FROM table1 WHERE id=2 
+0

"관련 SQL Server 테이블 또는 뷰 링크": SQL Server 데이터는 날짜 범위 입력 매개 변수를 사용하는 긴 쿼리입니다. 이 메커니즘을 계속 사용할 수 있습니까? 또는 단일 테이블이나 뷰에서만 작동합니다. – Merenzo

+0

"SQL Server 끝에서 작업하기": 멋진 고급 솔루션 ... 내 시나리오에서는 로컬 PC의 데스크톱에 살 수있는 Access DB를 사용하고 싶습니다. 즉, SQL Server 끝 부분에서 수행하는 것은 불가능하지만 pull-via-Access는 이상적인 솔루션입니다. – Merenzo

+0

이 경우 SQL Server에서 긴 쿼리의 테이블을 만들거나 MS Access에서 긴 쿼리를 실행하십시오. – Fionnuala