小弟因為這個問題在壇子里找了好久了,還是沒有解決。所以再次問一下,實在是沒有辦法了,請各位大大對我的問題出手相救。我編了一個VB訪問ACCESS的程式。在本機運行是正常的,可是放到別的機子里就有錯誤430類不支持自動化或期望的介面。而且明顯就是剛開始的時候資料庫連接那里就錯了。我在模塊里宣告
Public conn As ADODB.Connection
Public rs As ADODB.Recordset
在FORM_LOAD時就
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
于是出現430錯誤進都進不去。看網上很多人說是mdac_type問題。我用VB自帶的打包程式打包后放到別的電腦上安裝也不行(打包時手動加入了MDAC_TYPE);有人說是mdac_type問題版本太老的問題,于是我下了mdac2.8覆寫了C盤里的mdac_type再重新打包也不行;有人說用setup factory打包,打入mdac_type再在安裝結束后運行它,結果直接顯示系統不支持。而且我試了一下直接運行mdac_type2.8也是出現系統不支持的情況。我實在是沒有辦法了,這個程式編了好久,好不容易才實作了功能,結果別人還用不了,真是太失敗了,希望有同樣情況的兄弟姐妹們幫幫忙,小弟感激不盡。
最后貼一下,我工程檔案中的影用串列吧,希望對解決問題有幫助
Reference=*\G{00020430-0000-0000-C000-000000000046}#2.0#0#C:\WINDOWS\system32\stdole2.tlb#OLE Automation
Reference=*\G{50A7E9B0-70EF-11D1-B75A-00A0C90564FE}#1.0#0#C:\WINDOWS\system32\SHELL32.dll#Microsoft Shell Controls And Automation
Reference=*\G{420B2830-E718-11CF-893D-00A0C9054228}#1.0#0#C:\WINDOWS\system32\scrrun.dll#Microsoft Scripting Runtime
Reference=*\G{00000201-0000-0010-8000-00AA006D2EA4}#2.1#0#C:\Program Files\Common Files\system\ado\msado21.tlb#Microsoft ActiveX Data Objects 2.1 Library
Object={E95A2510-F3D1-416D-823B-4F840FE98091}#3.0#0; Command.ocx
Object={BEC61919-E6C4-11D1-BE7D-C63815000000}#1.0#0; FLEXWIZ.OCX
Object={0ECD9B60-23AA-11D0-B351-00A0C9055D8E}#6.0#0; MSHFLXGD.OCX
Object={831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0; MSCOMCTL.OCX
Object={3B7C8863-D78F-101B-B9B5-04021C009402}#1.2#0; RICHTX32.OCX
Object={5E9E78A0-531B-11CF-91F6-C2863C385E30}#1.0#0; MSFLXGRD.OCX
Object={F9043C88-F6F2-101A-A3C9-08002B2F49FB}#1.2#0; comdlg32.ocx
Object={BDC217C8-ED16-11CD-956C-0000C04E4C0A}#1.1#0; TABCTL32.OCX
uj5u.com熱心網友回復:
在目標機上,跑一下代碼測驗一下就OK了。uj5u.com熱心網友回復:
除了這個方法,不能直接分析下原因嗎?我現在不方便找目標機去測驗uj5u.com熱心網友回復:
裝一個VirtualPc虛擬機,新裝一個xp系統,把軟體部署上去,看看能否運行,如果運行不了,在把ocx,dll等一個個拷貝上去,注冊,直到能跑起來。
uj5u.com熱心網友回復:
是你開發機上使用的ADO和目標機上使用的ADO不是相同版本造成的。首先,在開發機上查看ADO的參考版本。
其次,制作VB安裝包,一般會在安裝包中自帶ADO的安裝。
再次,在目標機上安裝即可。
uj5u.com熱心網友回復:
從上面的工程屬性檔案看,用的是ActiveX Data Object 2.1。把這個參考換成ActiveX Data Object 2.6或者更高版本試試看。uj5u.com熱心網友回復:
這個問題我已經解決 工程——參考 添加 Microsoft ActiveX Data Object 2.8(即其最高版本)uj5u.com熱心網友回復:
樓主可以結貼了。uj5u.com熱心網友回復:
在64位Windows下:64位exe和dll在目錄c:\windows\system32目錄下;
32位exe和dll在目錄c:\windows\syswow64目錄下;
所以要注意:
在win64位系統下注冊32位ocx或dll需要將32位ocx或dll拷貝到c:\windows\syswow64\目錄下。
且注冊要用c:\windows\syswow64\regsvr32 xxxxxxx.ocx或dll
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/112478.html
標籤:VB基礎類
上一篇:水晶報表中增加公章
