Foxtable(狐表)用户栏目专家坐堂 → 根据是否联网判断是否加载表


  共有1594人关注过本帖树形打印复制链接

主题:根据是否联网判断是否加载表

帅哥哟,离线,有人找我吗?
cat88hzh
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:72 积分:689 威望:0 精华:0 注册:2013/5/10 13:23:00
根据是否联网判断是否加载表  发帖心情 Post By:2017/3/31 10:44:00 [只看该作者]

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

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

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

 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By: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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/3/31 10:50:00 [只看该作者]

 你可以加一个public变量,如果能访问,就加载表,否则就不加载。

 回到顶部
帅哥哟,离线,有人找我吗?
cat88hzh
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:72 积分:689 威望:0 精华:0 注册:2013/5/10 13:23:00
  发帖心情 Post By:2017/3/31 13:21:00 [只看该作者]

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

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


 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/3/31 14:37:00 [只看该作者]

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

 


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

 

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


 回到顶部