[Excel]Access의 테이블을 Excel에 연동한다. SQL로 필터링.

Office365 Business에서도 Access를 사용할 수 있게 되었으므로 엑셀로 관리하고 있던 데이터를 Access로 마이그레이션했습니다.
Access는 그다지 만지지 않았기 때문에 간단한 내용입니다만 데이터 접속의 방법을 메모합니다. ※Office2016에서 밖에 시도하지 않습니다.

하고 싶은 일



↓Access 데이터


↓ Excel로 표시합니다.


했던 일



데이터 탭의 Access 데이터베이스 연결에서 기본 설정으로 연결했습니다.



이것으로 할 수있었습니다. 생각보다 쉬웠습니다.



이어서



절각이므로 재취득 버튼용의 매크로를 작성하려고 합니다.
테이블명을 「Users」로 변경해 아래의 코드를 버튼에 등록합니다.

샘플
Sub Sample()
    ThisWorkbook.Worksheets("Sheet1").ListObjects("Users").Refresh   
End Sub

데이터를 다시 가져올 수 있습니다. 너무 쉽습니다.

SQL도 써본다.



데이터 > 연결 > 통합 문서 연결에서 이름을 확인합니다.


Databese1이므로 Connections에서 연결 문자열을 변경합니다.

샘플
Sub Sample()
    Dim sql As String
    sql = "SELECT FamilyName, FirstName FROM users WHERE Age >= 20"
    ThisWorkbook.Connections("Database1").OLEDBConnection.CommandText = sql

    ThisWorkbook.Worksheets("Sheet1").ListObjects("Users").Refresh    
End Sub




좁혔습니다.
더, 이렇게, For로 돌려 Range를 지정해 셀에 세트 해···, 라고 하는 것을 생각하고 있었습니다만 예상 이상으로 간단했습니다.

그 외



Access를 시작하거나 Excel을 시작할 때 Access를 시작하면 공유 오류가 발생할 수 있습니다.
단, 이는 기본 연결 설정에서 사용 권한이 "Share Deny Write"가 되었기 때문입니다.
Read, ReadWrite, Share Deny None으로 해소되었습니다.

좋은 웹페이지 즐겨찾기