以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 如何判断系统是否安装了office 2007组件 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=4751) |
-- 作者:程兴刚 -- 发布时间:2009/10/26 10:51:00 -- 如何判断系统是否安装了office 2007组件 经测试:如果采用了Access外部数据源,且在没有安装office 系统或者说组件的电脑(或者说用户重装系统没装office的情况下)运行狐表项目文件,系统会报错。 建议:能否在采用Access外部数据源的情况下,增加一个针对是否office或相关组件的判断,检测到系统不能正常运行时,提示安装office或者组件,甚至直接打开狐表的下载链接页面,同时关闭狐表项目文件,直到用户的电脑安装了office相关组件! |
-- 作者:狐狸爸爸 -- 发布时间:2009/10/26 10:59:00 -- 随便测试一个Access 2007能否连接就行 Dim str1 As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\\data\\订单.accdb" Dim conn As New Data.OleDb.OleDbConnection(str1) Try conn.open conn.Close messagebox.Show("有") Catch ex As Exception messagebox.Show("没有") End Try |
-- 作者:程兴刚 -- 发布时间:2009/10/26 11:03:00 -- 哦,谢谢,加在项目属性的BeforeConnectOuterDataSource事件中可以吧? |
-- 作者:狐狸爸爸 -- 发布时间:2009/10/26 11:05:00 -- 可以用在任何你需要用的地方。 |
-- 作者:程兴刚 -- 发布时间:2009/10/26 11:32:00 -- 项目属性的 BeforeConnectOuterDataSource 事件,这里不可以用系统变量?改用写系统信息的方法是否可以? Dim str1 As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ProjectPath & "外部数据源名称.accdb" Dim conn As New Data.OleDb.OleDbConnection(str1) Try conn.open conn.Close Catch ex As Exception messagebox.Show("对不起,系统需要Office 2007 或组件,请下载安装!") Dim Proc As New Process \'定义一个新的Process Proc.File = "http://www.foxtable.com/dispbbs.asp?boardid=2&Id=33" \'指定要打开的网页地址 Proc.Start() Syscmd.Project.Exit(False) End Try |
-- 作者:狐狸爸爸 -- 发布时间:2009/10/26 11:45:00 -- 这里不可以用系统变量,你可以用文本文件保存和读取信息。 也可以用注册表保存信息,但是用注册表的话,你需要看看你买的vb.net的书,或者上网搜一下。 |
-- 作者:程兴刚 -- 发布时间:2009/10/26 12:00:00 -- 哦,谢谢,知道怎么办了! |