スポンサーリンク

ローカルAccessからクラウドDBへの接続構成例

スポンサーリンク
Access
スポンサーリンク

~業務アプリの「脱ローカル」をやさしく実現~

こんにちは、なかぜんです。

最近よく聞くご相談に、「Accessで作ったアプリをクラウド上のデータベースに接続して使いたい」というものがあります。

テレワークや多拠点運用が増える中、ローカルファイルの共有には限界がありますよね。でも、「クラウドって難しそう…」「VBAでつながるの?」と不安に感じる方も多いのではないでしょうか。

この記事では、ローカルのAccessからAzure SQL DatabaseやMySQLなどのクラウドDBへ接続する構成例を、図やコード付きでわかりやすく紹介します。

スポンサーリンク

AccessとクラウドDBの基本構成

1. 全体イメージ

構成の概要は以下のとおりです:

  • Accessフロントエンド(.accdbファイル)はローカルPCに配置
  • クラウド上にあるAzure SQL DatabaseやMySQLなどがデータソース
  • ODBCドライバを経由して接続

接続構成図:

  [Access Frontend.accdb]
         ↓(ODBC)
  [ODBCドライバ(SQL Server / MySQLなど)]
         ↓
  [クラウドDB(Azure SQL / AWS RDS / 他)]
  

2. 必要な準備

  • クラウドDBのアカウント・接続情報(ホスト名、ユーザー、パスワードなど)
  • 適切なODBCドライバのインストール(例:ODBC Driver for SQL Server)
  • ODBCデータソース(DSN)の構成、またはDSNレス接続の準備

接続方法:VBAでクラウドDBとつなぐ

DSNレス接続のVBAサンプル

VBAでDSNを使わずに直接接続する方法を紹介します。

' Azure SQL Database に接続する例
Public Sub ConnectCloudDB()
    Dim conn As Object
    Set conn = CreateObject("ADODB.Connection")

    Dim connStr As String
    connStr = "Driver={ODBC Driver 18 for SQL Server};" & _
              "Server=tcp:your-db-name.database.windows.net,1433;" & _
              "Database=your_db;" & _
              "Uid=your_user;" & _
              "Pwd=your_password;" & _
              "Encrypt=yes;TrustServerCertificate=no;Connection Timeout=30;"

    On Error GoTo ErrHandler
    conn.Open connStr

    MsgBox "クラウドDBに接続成功しました!", vbInformation

    conn.Close
    Set conn = Nothing
    Exit Sub

ErrHandler:
    MsgBox "接続エラー:" & Err.Description, vbCritical
    If Not conn Is Nothing Then
        If conn.State = 1 Then conn.Close
    End If
    Set conn = Nothing
End Sub

ポイント:

  • Driver=の指定は使用するDBごとに変更(SQL Serverの場合は「ODBC Driver 18 for SQL Server」など)
  • EncryptTrustServerCertificateの設定はクラウドDBの仕様に合わせる
  • 接続先のIP制限やファイアウォール設定にも注意

よくあるミス・注意点

  • ODBCドライバのバージョン不一致:古いドライバではクラウドDBに対応できないことがあります。
  • ファイアウォール設定:接続元のグローバルIPがクラウド側で許可されていないと接続できません。
  • 文字化け:MySQLなどで文字コード(utf8mb4など)の設定ミスがあると、データが正しく扱えません。
  • Accessリンクテーブルの更新:ODBCでテーブルをリンクすると、フィールド構成が変わると不具合が出ることがあります。リンクの再作成が必要です。

応用ポイント:業務アプリの「ハイブリッド構成」

Accessはローカルで画面とロジックを保ちつつ、クラウドDBでデータを一元管理する「ハイブリッド構成」にも向いています。

  • フォームやレポートはそのまま使える
  • 複数拠点からの同時アクセスが可能
  • サーバーレス運用もできる

また、Power BIPower Appsと連携すれば、さらに業務効率アップも狙えます。

まとめ:クラウド接続は難しくない!

今回は、AccessからクラウドDBに接続する構成例を紹介しました。

「ODBCドライバ」「接続文字列」「Accessのリンクテーブル」など、押さえるべきポイントはありますが、一度設定してしまえば強力な業務ツールになります。

次のステップとしては…

  • 実際にクラウドDB(例:Azure SQL)にテスト接続してみる
  • Accessのリンクテーブルでフォーム・レポート動作を確認
  • Power Platformとの連携にもチャレンジ

Accessユーザーの皆さんが、より柔軟な業務環境を構築できるよう、これからも応援しています!

それでは、なかぜんでした。