以文本方式查看主题

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

--  作者:jiskin
--  发布时间:2015/7/14 11:15:00
--  [求助]数据源设置

请教一个问题,

我有一个数据源,我希望在打开软件的时候 ping该服务器,如果网络通,则加载该服务器上的数据源

如果不通,则跳过该数据源

该如何处理?


--  作者:大红袍
--  发布时间:2015/7/14 11:17:00
--  
 跳过是什么意思?
--  作者:大红袍
--  发布时间:2015/7/14 11:18:00
--  
If e.name = "数据源1" Then
    If Network.Ping("www.baidu.com") = False Then
        e.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & e.ProjectPath & "数据文件1.mdb;Persist Security Info=False"
    End If
End If

--  作者:jiskin
--  发布时间:2015/7/14 11:20:00
--  
以下是引用大红袍在2015/7/14 11:18:00的发言:
If e.name = "数据源1" Then
    If Network.Ping("www.baidu.com") = False Then
        e.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & e.ProjectPath & "数据文件1.mdb;Persist Security Info=False"
    End If
End If

 

写在哪个事件里?


--  作者:jiskin
--  发布时间:2015/7/14 11:20:00
--  
以下是引用大红袍在2015/7/14 11:17:00的发言:
 跳过是什么意思?

 

就是 不加载该数据源


--  作者:大红袍
--  发布时间:2015/7/14 11:26:00
--  

BeforeConnectOuterDataSource

 

 

http://www.foxtable.com/help/topics/0682.htm

 


--  作者:jiskin
--  发布时间:2015/7/14 11:31:00
--  
以下是引用大红袍在2015/7/14 11:26:00的发言:

BeforeConnectOuterDataSource

 

 

http://www.foxtable.com/help/topics/0682.htm

 

 

我测试结果是这样的,如果在外部数据源里不设置该数据源,光在该事件里设置这个是不会被加载的,不管网通不通

如果在外部数据源里设置了该数据源,如果网不通,还是会弹出数据源设置的提示


--  作者:大红袍
--  发布时间:2015/7/14 11:32:00
--  
3楼代码已经写给你了,如果不能ping通的,就改成另一个数据源的连接字符串啊
--  作者:jiskin
--  发布时间:2015/7/14 11:35:00
--  
以下是引用大红袍在2015/7/14 11:32:00的发言:
3楼代码已经写给你了,如果不能ping通的,就改成另一个数据源的连接字符串啊

 

我的意思是 不改成另外的数据源,我只是想,如果不通,这个数据源就不连接了 放弃


--  作者:大红袍
--  发布时间:2015/7/14 11:38:00
--  
以下是引用jiskin在2015/7/14 11:35:00的发言:

 

我的意思是 不改成另外的数据源,我只是想,如果不通,这个数据源就不连接了 放弃

 

那你就做一个空的access数据源,结构和外部数据源一样,连接到access的路径去。