Foxtable(狐表)用户栏目专家坐堂 → 外部数据源转换问题


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

主题:外部数据源转换问题

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


加好友 发短信
等级:二尾狐 帖子:503 积分:4002 威望:0 精华:0 注册:2016/6/7 7:45:00
外部数据源转换问题  发帖心情 Post By:2017/3/1 8:00:00 [只看该作者]


各位老师,我有个项目是外部数据源,有两个数据库,分别是:2016年度.mdb和2017年度.mdb。两个数据库都有三个表,分别是合同表、入库表、批发表。
我做两个按钮,2016年度和2017年度。
想实现,点2016年度按钮,则连接2016年度数据库,项目内三个表(合同表、入库表、批发表)的数据则为2016年度。点2017年度按钮,则显示2017年度数据。
请各位老师帮忙。

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110587 积分:562831 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/3/1 8:44:00 [只看该作者]


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


加好友 发短信
等级:二尾狐 帖子:503 积分:4002 威望:0 精华:0 注册:2016/6/7 7:45:00
  发帖心情 Post By:2017/3/1 13:30:00 [只看该作者]

有点蓝老师,我看了一下,参考里的跟我要求的不一样。

 


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20170301131731.png
图片点击可在新窗口打开查看

我的项目里有两个数据库,里面都有这五个表,表的格式相同。

想实现,在这一个项目里,做两个按钮,点一个钮,所有的表加载一个数据库的数据,点另一个钮,则这个数据库的数据卸载,加载另一个数据库数据。麻烦有点蓝老师帮忙。


 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110587 积分:562831 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/3/1 14:34:00 [只看该作者]

用法一样,看懂逻辑。

 

卸载旧表-》删除旧数据源-》添加新数据源-》加载新表


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


加好友 发短信
等级:二尾狐 帖子:503 积分:4002 威望:0 精华:0 注册:2016/6/7 7:45:00
  发帖心情 Post By:2017/3/2 6:52:00 [只看该作者]

有点蓝老师,我按照例子做了两个按钮,代码如下:
按钮1:
Dim s As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=多表统计.mdb;Persist Security Info=False"     '记得换做真实路径,不一定在项目文件夹下
If Connections.Contains("ss") Then
    Connections.Delete("ss")
End If
    Connections.add("ss",s)
If DataTables.Contains("订单") = False Then 
    DataTables.Load("订单")
ElseIf DataTables.Contains("客户") = False Then 
    DataTables.Load("客户")
End If

按钮2:

Dim s As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=多表统计1.mdb;Persist Security Info=False"     '记得换做真实路径,不一定在项目文件夹下
If Connections.Contains("ss") Then
    Connections.Delete("ss")
End If
    Connections.add("ss",s)
If DataTables.Contains("订单") = False Then 
    DataTables.Load("订单")
ElseIf DataTables.Contains("客户") = False Then 
    DataTables.Load("客户")
End If

两个按钮只是数据库不同,其他均相同,现有两个问题:
一、点一下按钮,只能加载“订单”表,再点一下,出现:“该数据仍在使用,不能被删除”的提示,而后加载了“客户”表。怎样改代码,能点一次按钮,就能加载全部表。
二、打开项目,点哪个按钮,则加载哪个数据库数据,再点另一个按钮,不加载另一个数据库数据。只能是重新打开项目后,才能加载另一个数据库数据。怎样改代码,能够不重新打开项目就能随意切换加载数据库数据。

请有点蓝老师帮忙。

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


加好友 发短信
等级:二尾狐 帖子:503 积分:4002 威望:0 精华:0 注册:2016/6/7 7:45:00
  发帖心情 Post By:2017/3/2 8:33:00 [只看该作者]

请有点蓝老师帮忙呀。

 回到顶部
帅哥,在线噢!
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110587 积分:562831 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/3/2 9:07:00 [只看该作者]

看4楼,先卸掉这个数据源所有的表,再去删除数据源

 

卸载旧表-》删除旧数据源-》添加新数据源-》加载新表


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


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

以下是引用feixianzhi在2017/3/2 8:33:00的发言:
请有点蓝老师帮忙呀。

 

看原来的例子,人家不是有一段unlaod表格的代码?加上就好了。


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


加好友 发短信
等级:二尾狐 帖子:503 积分:4002 威望:0 精华:0 注册:2016/6/7 7:45:00
  发帖心情 Post By:2017/3/2 10:30:00 [只看该作者]

有点蓝老师,问题解决了,麻烦您帮我看一下,下面的代码有没有什么问题?

Dim s As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=多表统计.mdb;Persist Security Info=False"     '记得换做真实路径,不一定在项目文件夹下
If DataTables.Contains("订单") Then
    DataTables.Unload("订单|产品|客户")
End If
If Connections.Contains("ss") Then
    Connections.Delete("ss")
End If
    Connections.add("ss",s)
If DataTables.Contains("订单") = False Then 
    DataTables.Load("订单|产品|客户")
End If

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


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

Dim s As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=多表统计.mdb;Persist Security Info=False"  

 

改成

 

Dim s As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & ProjectPath & "多表统计.mdb;Persist Security Info=False"  


 回到顶部
总数 13 1 2 下一页