Excel에서 MySQL 데이터 가져오기

개요



매우 오랜만에 Excel VBA를 만지게 되었습니다만,
그 내용이 MySQL에서 데이터를 가져옵니다.
지정된 셀에 넣어 처리로.

어쩌면 잠시이 손에 대한 이야기는 오지 않을 것입니다.
비망을 위해 절차를 남겨 둡니다.

준비



ODBC Driver for MySQL 다운로드
htps //w w. mysql. 이 m/jp/p 로즈 cts/이런 c와 r/ 에 액세스합니다.
②ODBC Driver for MySQL (Connector/ODBC)의 다운로드 버튼을 클릭합니다.


③ 사용하는 PC 환경에 따라 설치 프로그램의 다운로드 버튼을 클릭합니다.


④다음과 같은 화면이 표시되므로 우선 「No thanks, just start my download」를 클릭합니다.


⑤ 설치 프로그램이 다운로드됩니다. 다운로드가 완료되면 설치 프로그램을 시작합니다.

⑥ 설치 프로그램이 시작되면 다음과 같은 화면이 표시됩니다. 다음을 클릭하십시오.


⑦ 계속해서 다음과 같은 화면이 표시됩니다. "License Agreement"를 잘 읽고, 문제가 없으면 "I accept ..."를 선택한 다음 "Next"를 클릭하십시오.


⑧ 설정 종류 선택 화면이 표시됩니다. 우선 "Typical"을 선택하고 "Next"를 클릭하십시오.


⑨ 설치가 시작됩니다.


⑩ 설치가 완료되면 다음과 같은 화면이 표시됩니다. 마침을 클릭하여 설치 프로그램을 종료합니다.


Excel VBA 구현 예



여기에서 VBA에서 처리를 구현해 보겠습니다.
Excel을 시작하고 개발자 탭에서 Visual Basic을 터치합니다.


코드 편집기가 시작됩니다.
버튼을 클릭하면, MySQL이 있는 테이블에 SELECT 구문의 SQL을 발행해, 데이터를 취득하는 예입니다.
※오류 처리는 끝이 접혀 있습니다.
Private Sub DataGetButton_Click()

    Dim AdoConnection As Object ' ADO コネクション
    Dim AdoRecordSet As Object  ' ADO レコードセット
    Dim SQL As String    ' SQL文

    ' ADOコネクションを作成します
    Set AdoConnection= CreateObject("ADODB.Connection")

    ' ODBC接続を行います
    AdoConnection.Open _
        "DRIVER={MySQL ODBC 8.0 Unicode Driver};" & _
        " SERVER=(servername);" & _
        " DATABASE=(databasename);" & _
        " UID=(username);" & _
        " PWD=(password);"

    ' SQL文を作成します
    SQL = "select tbl_aaa.ID, " & _
            "       tbl_aaa.name, " & _
            "       tbl_aaa.item_num, " & _
            "       tbl_bbb.item_name " & _
            "from tbl_aaa " & _
            "inner join tbl_bbb on tbl_bbb.ID = tbl_aaa.item_id "

    ' SQLを実行します
    Set AdoRecordSet = AdoConnection.Execute(SQL)

    ' 取得したレコードを適当なセルに表示していきます
    i = 0;
    Do Until AdoRecordSet .EOF
        Cells(i, 1) = AdoRecordSet!ID
        Cells(i, 2) = AdoRecordSet!name
        Cells(i, 3) = AdoRecordSet!item_name
        Cells(i, 4) = AdoRecordSet!item_num

        ' 次のレコードに移動
        AdoRecordSet .MoveNext
        i = i + 1
    Loop

End Sub

(servername), (databasename), (username), (password)에는 MySQL과의 연결 정보를 설정하십시오.

좋은 웹페이지 즐겨찾기