2015-07-07

[ACCESSxVBA] VBA 에서 ACCESS DataBase에 접속하기

엑셀 VBA 에서 ACCESS 로 만든 데이터베이스에 접속 하는 방법이다.

사실 간단하고 어려울게 없는데, 설명하기 좀 복잡해서 예시를 들어 남긴다.
아래 예시에서 필요한 부분만 바꿔서 쓰면 될 듯.

참고로 오피스는 2010을 사용 했다.

먼저 나는 엑세스 DB에 접속 했다가 접속을 끊는 함수를 만들어서 VBA에서 활용 할 목적으로 아래와 같이 사용 하고 있음을 밝힘.

----

시작.

먼저 VBA 에서 Accese 에 접속 할 수 있도록 [VBA 창] > [도구] > [참조] > [Microsoft DAO 3.6 Object Library] 를 참조 항목으로 설정 한다.

그러고 나서 Module 을 하나 만들거나 기존 Module 에 아래와 같이 코딩.

----

Const Path = "(엑세스 파일 경로)"
Const Connect = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" & Path & ";"

Public DB As ADODB.Connection

Public Sub OpenDB()
    Set DB = New ADODB.Connection
    DB.Open Connect
End Sub

Public Sub CloseDB()
    DB.Close
End Sub

----

하나씩 설명 하자면,


  • Const Path = "(엑세스 파일 경로)"
    엑세스 파일 경로를 미리 지정해서 여러군데서 사용 할 때 쉽도록 만든다
    사실 Connect 부분에 직접 써도 상관 없음
  • Const Connect = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" & Path & ";"
    데이터베이스 오픈 할 때 사용 할 파라미터
  • Public DB As ADODB.Connection
    DB 라는 이름으로 커넥션을 선언함
  • Public Sub OpenDB() ~ End Sub
    먼저 DB 라는 커넥션을 새로운 커넥션으로 만들고, 해당 커넥션을 Connect 라고 선언한 파라미터로 열기
    앞으로는 DB에 접속 하기 위해서 이 함수만 Call 하면 됨
  • Public Sub CloseDB() ~ End Sub
    DB 접속 종료하기 위한 함수

이로써 우리는 VBA 에서 언제나 OpenDB 함수와 CloseDB 함수로 엑세스 DB에 접속 했다가 접속을 종료 할 수 있음.

실제 작업을 위해서는 레코드셋도 선언하고 열어줘야 하는데 그건 다음에 기록으로 남긴다.

이상 끗.

댓글 없음:

댓글 쓰기