VBAでSQL Serverに接続する方法【データベース接続】

7月 22, 2022

VBAでSQL ServerにDB接続する方法がわからない方向けに書いています。

本記事の内容

ExcelVBAやAccessVBAからSQL Serverにデータベース接続する方法を紹介します。

会社の業務自動化やデータ分析等でSQL Serverのデータベースからデータを取得することがあると思います。

定期的な業務はVBAで自動的にデータ取得して、業務時間を大幅に短縮ですことが期待できます。

ぜひご活用ください。

 

VBAでSQL Serverに接続する方法

1.参照設定

参照設定からADO(ActiveX Data Objects)を使用することでExcelやAccess等のOfficeソフトからSQL Serverに接続することができます。

まず、ADOを使用するための参照設定を設定します。

①Visual Basic Editorを起動する

 
②Visual Basic Editorのメニューバーの「ツール」をクリックした後、「参照設定」をクリックする

 
③参照設定画面が開かれた後、参照可能なライブラリファイルから「Microsoft ActiveX Data Objects X.X Library」にチェックを入れてOKボタンを押す

ADOのバージョンは環境によって異なりますので、環境に合わせて読みかえください。

わからなければ、最新のバージョンを選択して使用してみてください。

 

2.SQL Serverへの接続

SQL Serverに接続、切断するサンプルプログラムを以下に記載します。

  1. Option Explicit
  2. Public SQL_CN As New ADODB.Connection
  3. Public Const SQL_PROVIDER As String = “SQLOLEDB"            'プロバイダー
  4. Public Const SQL_DATA_SOURCE As String = “localhost,port" 'サーバ名,ポート
  5. Public Const SQL_DATABASE As String = “dbname"         'データベース名"
  6. 'SQL Server認証で接続する場合
  7. Public Const SQL_USER_ID As String = “user"         'ユーザID
  8. Public Const SQL_PASSWORD As String = “password"         'ユーザパスワード
  9. '*****************************************
  10. '* SQLServerDB接続
  11. '*****************************************
  12. Sub SQL_SV_CONNECT()
  13.     Set SQL_CN = CreateObject(“ADODB.Connection")
  14.    'SQL Server認証で接続する場合
  15.     SQL_CN.Open “Provider=" & SQL_PROVIDER _
  16.                 & “;Data Source=" & SQL_DATA_SOURCE _
  17.                 & “;Initial Catalog=" & SQL_DATABASE _
  18.                 & “;User ID=" & SQL_USER_ID _
  19.                 & “;Password=" & SQL_PASSWORD & “; “
  20.     ’Windows認証で接続する場合
  21.     'SQL_CN.Open “Provider=" & SQL_PROVIDER _
  22.     '            & “;Data Source=" & SQL_DATA_SOURCE _
  23.     '            & “;Initial Catalog=" & SQL_DATABASE _
  24.     '            & “Trusted_Connection=Yes; “
  25. End Sub
  26. '*****************************************
  27. '* SQLServerDB接続解除
  28. '*****************************************
  29. Sub SQL_SV_DISCONNECT()
  30.     SQL_CN.Close
  31.     Set SQL_CN = Nothing
  32. End Sub

 

 

まとめ

ExcelVBAやAccessVBAからSQL Serverにデータベース接続する方法を紹介しました。

SQL Serverのデータベースからデータを自動的に取得するプログラムに活用いただけたらと思います。

業務効率化等に必ず役に立つはずです。

最後までありがとうございました。

 

VBAからOracle Databaseに接続する方法
VBAで外部のAccessに接続する方法
も紹介していますので、もしよろしければ御覧ください。

 

 

スポンサーリンク