以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]数据源切换  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=151740)

--  作者:绿火柴
--  发布时间:2020/7/2 15:09:00
--  [求助]数据源切换
我在BeforeConnectOuterDataSource事件中加入以下代码.
目的是:当共享电脑ping不通时,连接项目所在电脑的相对路径本地数据库。
但发布后的项目,在我自己电脑断网运行OK的。移到其他电脑断网情况下无法连接本地数据源。
当以管理员登录时看到连接数据源的路径仍然是我做项目时的绝对路径并不是此项目的相对本地路径。

If e.name = "ECRATE" Then
    If Network.Ping("192.168.3.100",500) = False Then
        e.C & e.ProjectPath & "ECRATE.mdb;Persist Security Info=False" 
    Else
        e.C
    End If
End If

--  作者:有点蓝
--  发布时间:2020/7/2 15:27:00
--  
实际已经改了的。菜单里设置的数据源不会受代码的影响,但是不会影响使用。直接打开数据源设置看到的肯定还是原来的设置。
--  作者:绿火柴
--  发布时间:2020/7/2 15:33:00
--  
但发布后的项目,在我自己电脑断网运行OK的。移到其他电脑断网情况下无法连接项目所在本地数据源。

那这个怎么解决的呢!(断网情况下)

--  作者:有点蓝
--  发布时间:2020/7/2 15:57:00
--  
试试

If e.name = "ECRATE" Then
    If TryConnectHost("www.baidu.com") = false orelse Network.Ping("192.168.3.100",500) = False Then
        e.C & e.ProjectPath & "ECRATE.mdb;Persist Security Info=False" 
    Else
        e.C
    End If
End If

--  作者:绿火柴
--  发布时间:2020/7/2 17:18:00
--  
多谢,是要用下面这个才好用。发现断网情况下用ping容易出错,重新看了下帮助文档。
TryConnectHost