アプリ版:「スタンプのみでお礼する」機能のリリースについて

今月同好会のパソコンを買いかえましたら下記問題点が発生し解決出来ません。
解決方法をご指導いただきたくお願い申し上げます。

  旧PC  WindowsXP  Excel 2002  Access 2002
  新PC  Windows 7  Excel 2010  Access 2010

問題点
 1・旧PCから新PCに移行しましたら、下記メッセージが表示され 
    'DB接続の ADCN.Open strDbConst でストップしてしまい更新出来ません。
    メッセージ
実行時エラー 3706
プロバイダーが見つかりません。正しくインストールされていない可能性があります。
 *尚その他のエクセル・ワードのファイルは、そのまま使用出来ます。

会員名札.xls に記述してあるマクロのコピー
  ’アクセスの会員管理.mdbからエクスポート
Public ADCN 'コネクト変数
Public ADRS 'レコードセット変数
Public ADCM 'コマンド変数

  ’DB接続
     Sub SpConnect()
Dim wMdb As String
Dim wPass As String
Dim UserName As String
UserName = Environ("USERNAME")
wMdb = "C:\Documents and Settings\" & UserName & "\My Documents\GGG
         \筆王\会員管理.mdb" '← Accessのデータべース


  wPass = "" '← データベースのパスワード
     strDbConst = "Provider=MicroSoft.Jet.OLEDB.4.0;Data Source=" & wMdb & ";Jet  OLEDB:Database Password=" & wPass
     Set ADCN = CreateObject("ADODB.Connection")
     Set ADCM = CreateObject("ADODB.Command")
     Set ADRS = CreateObject("ADODB.Recordset")
     ADCN.Open strDbConst
     ADCM.CommandType = 4
     ADCN.CommandTimeout = 0
     Set ADCM.ActiveConnection = ADCN
    End Sub

  'DB切断
Sub SpDisconnect()
ADCN.Close
Set ADRS = Nothing
Set ADCM = Nothing
Set ADCN = Nothing
End Sub

A 回答 (3件)

私自身はADOは使っていないのですが・・・(汗)



原因は、JET4.0を指定していることではないでしょうか。
【参考】
http://www.microsoft.com/downloads/ja-jp/details …
(ページ下方『注意事項』の「2. OLEDBを使用する~」の部分)

とりあえず、パスワードの指定方法がわからないので(汗)
当該MDBファイルのパスワードを一旦解除した上で、
プロバイダの指定を「MicroSoft.Jet.OLEDB.4.0」から
「Microsoft.ACE.OLEDB.12.0」に変更して、確認して
みてください。

なお、もしかしたらですが、Passwordの方は今までと同じ
(但しJETの後ろのスペースが2つだったので1つ削除)、
「JET OLEDB:Database Password」のままでいいのかも
しれません(汗)
http://social.msdn.microsoft.com/Forums/ja-JP/cs …
    • good
    • 1
この回答へのお礼

DexMachina様

ご教示いただきましたアドレスから、OLEDBドライバーをインストールし、

ご教示通りプロバイダ名を変更しましたら更新が出来ました。


>(ページ下方『注意事項』の「2. OLEDBを使用する~」の部分)
   この注記をいただきましたことは本当に助かりました。


自宅のパソコンはXPの2002ですので、テスト出来ず、昨日会場へ行き

修正しましたので、ご報告が遅くなり申し訳ございません。。


70歳過ぎのパソコン初心者のやる事ではないですネ、当方こそ汗・汗・・・・汗・汗・・・です。

修正出来、会員(平均年齢74歳の男女)の方々も喜んでいます。

本当にありがとうございました。

感謝申し上げます。

お礼日時:2011/05/19 18:11

ODBCドライバーはインストールされていますか


アクセスのデータの処理には必要ですが、
データファイルをXPからコピーされても、このような現象が出るように考えられます。
    • good
    • 0
この回答へのお礼

ganbaro様


ODBCドライバーをインストールし、プロバイダ名を変更しましたら更新が出来ました。

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

お礼日時:2011/05/19 17:50

>プロバイダーが見つかりません。

正しくインストールされていない可能性

これは、そのままの意味ですよ。見つからないのです。かりにも、その辺のスクリプトをいじっているならわかるはずなんですが・・・。釣りなんですかね。

コネクションの行を見れば、何にアクセスしているかわかりますよね。その名前の物が、その実行した環境からみれません。環境とは、OSであり、実行したユーザーであり、その実行したアプリです。

ちなみに、システムが持つ物(だれでも参照が可能だがアクセス制限をつけることが可能)、そのユーザーが持つ物が存在します。

プロパイダーとは? みなさんが持つイメージと同じです。つまり接続業者ですね。この場合、接続するためのインターフェースです。OLEDBでのアクセスなので、ドライバー> サービス > サービス名(ユーザー設定の名前) = サービスプロパイダー

ですね。これが、システムあるのか、ユーザーの持ち物にあるのか、OLEDB(ODBC)の管理ツールで見てください。

これらはエクセルとか、アクセスのファイルの中にはありません。OS設置(XP以後のOS)の時にデフォルトで設置されますが、その時デフォルトのプロパイダーしかありません。と言うことは、設置作業が必要です。
    • good
    • 0
この回答へのお礼

0909union様

70を才を過ぎたパソコン初心者です。

ご指導いただいた内容が理解できませんでした。

>釣りなんですかね。
この意味は全く解りません。

お礼日時:2011/05/19 17:45

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!