Microsoft Access Club Access超初心者対象Forum Access初級者対象Forum Access初・中級者対象Forum Access VBA Tips Forum DAO、ADO、SQL Forum

     

リストへもどる

投稿記事の一括表示

タイトルEXCEL VBAによるACCESSデータベース編集
記事No16830
投稿日: 2016/12/30(Fri) 12:41
投稿者haku
OS:windows 10
Access Version:2016


ACCESSの基本的な質問ですが、どなたかご教授ください

EXCEL VBAを使用し、ACCESSデータベースに接続して追加・更新・削除の操作を行いたいと思っているのですが、
出始めである接続の段階でつまずいています。

下記のプログラムでACCESSデータに接続を試みているのですが、

「実行時エラー3706 プロバイダーが見つかりません。正しくインストールされていない可能性があります。」

とのエラーが発生します。デバックエラーは★の所で発生します



Sub テーブル取り込み_元()

Dim con As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim constr As String

constr = "Provider =Microsoft .ACE OLEDB.12.0; Data Source=\\SE02\Users\Administrator\現場実績.accdb"
★con.Open ConnectionString:=constr

rs.Open Source:="T出庫データ", ActiveConnection:=con, _
CursorType:=adOpenKeyset, LockType:=adLockOptimistic

Range("Al").CopyFromRecordset Data:=rs

rs.Close
con.Close


End Sub


ACCESSバージョンは2016を使用しているのですが、基本知識がないため何が悪いにか分かりません。
Microsoft .ACE OLEDB.12.0 ⇒ Microsoft .ACE OLEDB.16.0
に変更してもダメでした。
初歩的な質問ですが、どなたかよろしくお願いいたします。

タイトルRe: EXCEL VBAによるACCESSデータベース編集
記事No16831
投稿日: 2016/12/30(Fri) 15:34
投稿者Moko
> constr = "Provider =Microsoft .ACE OLEDB.12.0; Data Source=\\SE02\Users\Administrator\現場実績.accdb"

余計なスペース等がありますし、ピリオドの足りないところもあります。

きっちり正確に書かないと動きません。

"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\\SE02\Users\Administrator\現場実績.accdb"

アップ時の転記ミスならごめんなさい。

タイトルRe^2: EXCEL VBAによるACCESSデータベース編集
記事No16836
投稿日: 2017/01/04(Wed) 20:39
投稿者haku
Moko様

投稿、ありがとうございます。
諸事情により先ほど投稿文を確認させてい頂き、返信が遅れまして申し訳ありません。

ご指摘通り、スペースやピリオドの所が悪さをしていたようです。
本当に助かりました!!

ですが、まだプログラムが上手く作動しない所があります。




Sub テーブル取り込み_元()

Dim con As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim constr As String

constr = "Provider =Microsoft .ACE OLEDB.12.0; Data Source=\\SE02\Users\Administrator\現場実績.accdb"
con.Open ConnectionString:=constr

rs.Open Source:="T出庫データ", ActiveConnection:=con, _
CursorType:=adOpenKeyset, LockType:=adLockOptimistic

★Range("Al").CopyFromRecordset Data:=rs

rs.Close
con.Close


End Sub



★マークの所で下記ののデバックエラーが発生します。

実行時エラー1004 「'Range'メソッドは失敗しました。'_Global'オブジェクト」

スペースやピリオド関係での悪さでは無いと思われるのですが、やはり原因はわかりません。
どうぞよろしくお願い致します。

タイトルRe^3: EXCEL VBAによるACCESSデータベース編集
記事No16837
投稿日: 2017/01/05(Thu) 13:45
投稿者Moko
> ★Range("Al").CopyFromRecordset Data:=rs

("Al") の部分
数字の「いち」ではなく、英小文字の「える」になっているようです。

タイトルRe^4: EXCEL VBAによるACCESSデータベース編集
記事No16838
投稿日: 2017/01/05(Thu) 21:09
投稿者haku
Moko様

ありがとうございます!!
また、初歩的なミスでお騒がせしました💦
本当に助かりました!!

- 以下のフォームから自分の投稿記事を修正・削除することができます -
処理 記事No パスワード

ページの先頭へ 前ページへ戻る