1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ローカルDBとVBAの連係

Last updated at Posted at 2016-08-08

Postgres

Windows 10 64bit Pro
EXCELバージョン: MicrosoftOffice 356 (32bit)

Windowsの設定 - postgresqlデータソースを追加する

ODBCのダウンロード

psqlodbc_10_03_0000-x86

ODBCデータソースアドミニストレータ32ビットで、データソースPostgreSQL Unicodeを追加する

image.png

image.png

Data Source: Excelから呼び出すときに使う
Description: 自由に記入
Database: 存在するDatabase名
SSL Mode: 自由に記入
Server: 通常のローカル環境ならlocalhost
Port: ポート (通常は 5432)
User Name: データベース接続ユーザ名
Password: パスワード

Excelでの設定 - ADOを参照設定で設定する

開発 > Visual Basic > ツール > 参照設定
下記をチェック

Microsoft ActiveX Data Objects 2.8 Library

DNSには先ほど設定したサーバー名を設定する

Sub TestConnection()
    Dim cn As ADODB.Connection
    Set cn = New ADODB.Connection
    cn.ConnectionString = "DSN=PostgreSQL-test_app;"
    cn.Open
    cn.Close
    Set cn = Nothing
End Sub

MySQL

Windows 7 64bit Pro
EXCELバージョン: MicrosoftOffice 356 (32bit)

ODBCドライバーを使って接続する

ODBCのダウンロード

mysql-connector-odbc-5.3.6-winx64.msi

ODBCの設定
MySQL5.6にODBCユーザを作成

C:\Program Files\MySQL\MySQL Server 5.6\bin>mysql -u root -p
Enter password: ********
# ポートの確認
show variables like 'port';
# ユーザODBCでlocalhostに接続できるように設定
CREATE USER 'ODBC'@'localhost' IDENTIFIED BY 'password';
grant all privileges on *.* to 'ODBC'@'localhost'  ;

C:\Windows\Syswow64\odbcad32.exe

ScreenClip.png

ScreenClip.png

VBA

'
'MySQLデータベースへの接続を確立
'
Sub MySQL接続()
    On Error GoTo errHandler
    Dim myCon As New ADODB.Connection   'Connectionオブジェクト
    
    '接続文字列を設定する
    myCon.ConnectionString = "Driver={MySQL ODBC 5.3 Driver};" _
        & "Server=localhost; Data Source= WindowsMySQL;Database=kokyaku_kanri; Uid=ODBC; Pwd=password"
    
    'データベースに接続する
    myCon.Open
    MsgBox "接続しました。"
    
    '接続を切断する
    myCon.Close
    MsgBox "切断しました。"
    
procContinue:
    Set myCon = Nothing
    Exit Sub

errHandler:
    'エラーが発生した場合にエラーメッセージを表示する
    MsgBox Err.Description
    Resume procContinue
End Sub
1
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?