以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  根据是否联网判断是否加载表  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=98518)

--  作者:cat88hzh
--  发布时间:2017/3/31 10:44:00
--  根据是否联网判断是否加载表
 各位大虾,提问一下,我有这么一个需求,要求这个程序,
启动时判断一下,如果网络连的通,就正常加载外部表,如果没有联网,那么就不加载外部表,只显示内部表。
 如果什么都不判断,没有网络的情况下,会加载但是报错外部表链接不成功啥的,然后还是可以正常进入,看到内部表,其实已经达到我的要求,但是希望哪个报错,能报,比如切换到内部表这样的话。

我看了BeforeConnectOuterDataSource的功能,加了一个,network.ping,来判断,但是断网状态,进入的时候就会直接报错说系统有问题打不开,只有接了网线的时候才能正常进入。

请问这个需求我要怎么做才能判断?

--  作者:有点色
--  发布时间:2017/3/31 10:49:00
--  

If TryConnectHost("www.baidu.com") Then
    If Network.Ping("www.baidu.com") Then
        Messagebox.Show("可以访问")
        Return
    End If
End If

\'如果不能访问,就切换到你的access数据库
 e.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & e.ProjectPath & "成绩数据.mdb;Persist Security Info=False"

[此贴子已经被作者于2017/3/31 10:48:51编辑过]

--  作者:有点色
--  发布时间:2017/3/31 10:50:00
--  
 你可以加一个public变量,如果能访问,就加载表,否则就不加载。
--  作者:cat88hzh
--  发布时间:2017/3/31 13:21:00
--  
以下是引用有点色在2017/3/31 10:50:00的发言:
 你可以加一个public变量,如果能访问,就加载表,否则就不加载。

请问如何让系统不加载外部表,外部表是我在数据源那里配置的外部表,每次加载的时候都会自己读它,有什么方法可以禁止链接这个数据源吗?


--  作者:有点色
--  发布时间:2017/3/31 14:37:00
--  

看2楼,连接到你项目的mdb数据库,这个数据库可以是空白的数据库。

 


 在BeforeConnectOuterDataSource判断是否能连接,不能连接,就给变量赋值为 false

 

 在BeforeLoadOuterTable事件,判断如果是false就不加载即可 e.Cancel = True