ExcelからAccessデータベースに接続する方法

こんにちは!大阪市を拠点に活動している『縁紡ぐ』の稲垣です。

SWELLを使ったホームページ制作や、Excel、ACCESS、RPAなどのシステム開発を行っています。
また、Excel、Word、Outlookの研修や、情報セキュリティ研修も行っています。身近なITの相談相手になりたいと思っています。

お気軽にお問い合わせください。

目次

ExcelとAccessの接続方法

コードの紹介

まずは、ExcelからAccessに接続するための準備が必要です。以下のコードを使って、データベースに接続する手順を見ていきましょう。今回は、ExcelとACCESSが同一フォルダ内にあり、6行目でSample.accdbというACCESSファイルに接続するためのパスを設定を作成しています。

Sub ConnectToAccess()
    Dim conn As Object
    Dim dbPath As String

    ' Accessデータベースのパスを設定
    dbPath = ThisWorkbook.Path & "¥Sample.accdb" ' データベースファイル名を指定

    ' ADOオブジェクトの作成
    Set conn = CreateObject("ADODB.Connection")
    conn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & dbPath & ";"

    ' 接続確認
    If conn.State = 1 Then
        MsgBox "Accessデータベースに接続しました!"
    Else
        MsgBox "接続に失敗しました。"
    End If

    ' 接続を閉じる
    conn.Close
    Set conn = Nothing
End Sub

13行目conn.Stateの状態

conn.Stateの値ごとの状態は以下の表にまとめています。

定数状態
0adStateClosed接続が閉じています
1adStateOpen接続が開いています
2adStateConnecting接続中です
4adStateExecutingコマンドを実行中です
8adStateFetching行が取得中です

コード実行

コードを実行する

接続できました!

SQL文を実行する場合

Sub InsertDataIntoAccess()
    Dim conn As Object
    Dim rs As Object
    Dim dbPath As String
    Dim sql As String


    ' Accessデータベースのパスを設定
    dbPath = ThisWorkbook.Path & "¥Sample.accdb" ' データベースファイル名を指定

    ' ADOオブジェクトの作成
    Set conn = CreateObject("ADODB.Connection")
    conn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & dbPath & ";"

    ' データをループしてINSERT文を作成
    sql = "INSERT INTO Sample (Name) VALUES  ('あいうえ')"

    ' SQL実行
    conn.Execute sql

    ' 接続を閉じる
    conn.Close
    Set conn = Nothing

    MsgBox "データの挿入が完了しました!"
End Sub

実行してみましょう!

データが追加されています!

あわせて読みたい
ADO接続におけるロックとカーソルの詳細解説(Accessの場合) 【 ADO接続の基本】 ADO(ActiveX Data Objects)は、データベースとの接続を簡単に行うための強力なツールです。ADOを使用することで、データベースに接続し、クエリを...

まとめ

今回は、ExcelからACCESSへ接続する方法について解説しました。Excelの方が帳票作成としてはしやすいので、結構連携があったりすると思います。ぜひ、活用してみてくださいね!

記事を書いた人

稲垣

  • Excel、ACCESSでのシステム開発が得意
  • ITスキルを共有し実践的に学びながら成長する人を見るのが幸せ
  • 自家焙煎するほどのコーヒー好き
  • 使用言語 VBA、Python、Javascript、Java、HTML、CSS etc.
  • 保有資格 Kintoneアソシエイト、日商簿記検定2級、マンション管理士、管理業務主任者、情報セキュリティマネジメント、ExcelVBA etc.
  • 業務フロー図の作成や業務時間分析を通して、効率化ポイントを探る人
  • お客様にとって本当に良いことかを第一に考える人
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次