VBからAccessのMDBを操作するアプリケーションを作り、Visual Studio Installerでインストーラを作成しました。
そのパッケージをWin98SEをインストールしたてのマシンにMDAC 2.7をインストールし、作ったパッケージからアプリケーションをインストールしたところ、実行時に
実行時エラー '429':
ActiveXコンポーネントはオブジェクトを作成できません。
とエラーが出ます。
試しにテーブルを開き、1件目のデータを読み取るだけの簡単なプログラムを作り、対象のマシンで動作させてみても結果は同じです。
MDACのインストールだけではだめなんでしょうか。
作成したアプリケーションは配布したいので、コントロールパネルを変更するなどの手間はかけたくないのです。
アプリケーションのインストールだけで環境ができるのが理想ですが、何か言い方法はないでしょうか。
ちなみにためしで作った簡単なプログラムのコードを記述します。
----------------------------
Private Sub Form_Load()
Dim mydb As DAO.Database
Dim rs As Recordset
Set mydb = OpenDatabase(".\tellist.mdb")
Set rs = mydb.OpenRecordset("SELECT Count_TBL.* FROM Count_TBL")
Text1.Text = rs!telno
rs.Close
mydb.Close
End Sub
----------------------------
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
ドライバのせいかな?
もしAccessをその98マシンにインストールしてできたのなら、ドライバのせいだと思います。(もちろん開発環境と同じバージョンのAccessです)
今までADO2.6を使用して、Accessの入っていないPCのMDBをやったことはあります。
DAOではAccessの入っていないPCは、私は未経験です。
ですので、全て推測です。
参考URLより抜粋
概要
MDAC 2.7 SP1 の再配布可能インストーラーは、Microsoft Windows XP SP1 と同じ Data Access コア コンポーネントをインストールします。このリリースには、Microsoft Jet、Microsoft Jet OLE DB Provider、Desktop Database Drivers ODBC Driver、Visual FoxPro ODBC Driver は含まれていません。
参考URL:http://www.microsoft.com/downloads/details.aspx? …
No.3
- 回答日時:
なるほど、、
GUIDをレジストリに書いてなかったのですね。。。
面倒でもこまめにGUIDを書いていかないと、毎回手作業でのレジストリ登録が必要になります。
No.1
- 回答日時:
インストーラ作ったことがないんで、よくわかりませんが、再配布パッケージにDAOを含めてみてはどうでしょうか?
ファイルがあるのに動かない、ということなら、
RegSvr32 "C:\Program Files\Common Files\Microsoft Shared\DAO\dao360.dll"
でどうでしょう?(^^;
(パスは、実際の環境に即して読み替えてください)
ありがとうございます。
インストーラにはvb5db.dllとdao360.dllは登録されているのですが、ターゲットマシンにはインストールされていないようです。
コピーしてRegSvr32を実行するとできました。
なぜインストールされないのか不明です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- Access(アクセス) 実行時エラー3131 FROM 句の構文エラーです について 7 2022/06/13 15:45
- Visual Basic(VBA) データベースから絞り込んでデータを読み込み 1 2023/02/21 19:51
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
- Visual Basic(VBA) VBAにてメール作成した際、一部指定箇所のみ赤文字にしたいです。 下記の内容ですと作成されたメール本 1 2022/04/27 13:31
- Visual Basic(VBA) EXCEL VBAにて動的にCheckBOXを複数作成し、同BOXにイベントを追加したい 1 2023/03/16 07:05
- Visual Basic(VBA) Excelで下記のようにマクロを作ったところ、一回目は実行できたのですが、二回目以降「実行時エラー1 1 2022/03/25 08:08
- Visual Basic(VBA) Access VBAから使用したExcelプロセスを閉じる方法について 4 2022/06/08 17:50
- Access(アクセス) DoCmd.SearchForRecord が動かない時の解決方法 3 2022/07/22 15:31
- Visual Basic(VBA) 【VBA】Excelの特定範囲のセルを画像で保存したい 2 2023/01/25 13:06
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VB6(SP5)+OO4OでCreateObjectが...
-
ビルドした.exeファイルは.NE...
-
VB6.0で作成したexeファイルが...
-
VB.NETでSPREADの設定方法
-
VBAでArrayListを使う為の「msc...
-
[VB.net] ExcelへのQRコード出...
-
VB.NET で作られたソフト...
-
accessがインストールされてい...
-
DAOバージョンの変更
-
エクセル2003で作ったVBAが2007...
-
6.0から2005へのアップグレード
-
VB6.0のラーニングエディション...
-
Windows10,VisualStudio2017で...
-
う~ん…。
-
VB6で作成したアプリを配布する...
-
発行元:不明???
-
C#で作ったプログラムの配布が...
-
VB.NET(2017)で インストーラを...
-
ListViewで文字化けしてしまい...
-
vba 時間の引き算 例えば 15:00...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB6(SP5)+OO4OでCreateObjectが...
-
VBAでArrayListを使う為の「msc...
-
VB.NETでSPREADの設定方法
-
[VB.net] ExcelへのQRコード出...
-
VB6のアプリケーションの配布
-
VB.NET で作られたソフト...
-
Product Codeの変更法は?
-
VB6で作成したアプリを配布する...
-
ビルドした.exeファイルは.NE...
-
VB6.0で作成したexeファイルが...
-
.NETの標準ライブラリでExcelフ...
-
C#で作ったプログラムの配布が...
-
う~ん…。
-
次のクラスは登録されていませ...
-
MSDNのセットアップ方法(ヘル...
-
VB.Netの違い
-
VB.NET(2017)で インストーラを...
-
6.0から2005へのアップグレード
-
アドインファイルの移動(再)
-
Visual Studio 2005は64ビットO...
おすすめ情報