在VB中我引用了一些库文件。可是程序拷到其他电脑上提示引用不成功。我引用的方式就是勾选。
我想是否可以直接写代码引用,一打开程序就先执行这个引用。这样程序在其他电脑上可能就没有问题了
引用不成功的原因很多,比如文件本身不存在,或未注册,或者依存库不存在/未注册等,你要搞清楚是什么情况才好想办法.
至于你这个库,看起来像是ADO的库,读写ACCESS或SQL SERVER?那客户机器上得安装MDAC,XP与2003系统下装MDAC2.8就可以了.
使用VB的打包和展开向导,制作安装包
和“引用的优先级”有关?这倒没想到。对了,我的经验,好像一般把库放在工程的目录中,保存时好像是按相对路径的,容易成功些。仅供参考。
Dim conn As Object
Private Sub Form_Load()
' 初始化对象实例
Set conn = CreateObject("ADODB.Connection")
conn.open "Provider=Microsoft.Jet.OLEDB.4.0;UID=;PWD=;Data Source=x:\xx.mdb"
End Sub
Private Sub Form_Unload(Cancel As Integer)
' 卸载对象
conn.Close
Set conn = Nothing
End Sub
Private Sub Command1_Click()
Dim rs As Object
Dim rsRecordCount As Long
Set rs = CreateObject("ADODB.Recordset")
rs.open "Select count(*) as c From 表", conn, 3, 1
rsRecordCount = rs!c
rs.Close
Set rs = Nothing
MsgBox "表中有" & rsRecordCount & " 条记录"
End Sub
再比如 XMLHTTP 对象,三天两头的在升新版本,如果工程里也这么引用的话,哪天更新一下系统,组件版本被更换了,按照这种用法程序又要奔溃了。ADO 也是一样,说不定哪天 MS 又发现什么 BUG,然后更新系统是把他也给更新了,也可能会造成同样的问题出现,所以说还是动态的安全点,只要他不是把整个方法、属性、事件给改了,基本上不会有什么大问题的。
反复搜索思考。后来翻开一本讲ACCESS的书,最后一页讲到需要引用的库文件时。有个是Microsoft Office 12.0 Object Library. 我发现自己引用的是Microsoft Office 11.0 Object Library.版本好像不对。于是换成了书上说的12.0 , 问题解决了。哎,这个问题困扰了我一年多啦。终于尘埃落定了。SupermanKing 说的最贴切。看来是和版本有关系