以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 外部数据源转换问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=96849) |
-- 作者:feixianzhi -- 发布时间:2017/3/1 8:00:00 -- 外部数据源转换问题 我做两个按钮,2016年度和2017年度。 想实现,点2016年度按钮,则连接2016年度数据库,项目内三个表(合同表、入库表、批发表)的数据则为2016年度。点2017年度按钮,则显示2017年度数据。 请各位老师帮忙。
|
-- 作者:有点蓝 -- 发布时间:2017/3/1 8:44:00 -- 参考:http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=48596
|
-- 作者:feixianzhi -- 发布时间:2017/3/1 13:30:00 -- 有点蓝老师,我看了一下,参考里的跟我要求的不一样。
我的项目里有两个数据库,里面都有这五个表,表的格式相同。 想实现,在这一个项目里,做两个按钮,点一个钮,所有的表加载一个数据库的数据,点另一个钮,则这个数据库的数据卸载,加载另一个数据库数据。麻烦有点蓝老师帮忙。 |
-- 作者:有点蓝 -- 发布时间:2017/3/1 14:34:00 -- 用法一样,看懂逻辑。
卸载旧表-》删除旧数据源-》添加新数据源-》加载新表 |
-- 作者:feixianzhi -- 发布时间: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 -- 发布时间:2017/3/2 8:33:00 -- 请有点蓝老师帮忙呀。 |
-- 作者:有点蓝 -- 发布时间:2017/3/2 9:07:00 -- 看4楼,先卸掉这个数据源所有的表,再去删除数据源
卸载旧表-》删除旧数据源-》添加新数据源-》加载新表 |
-- 作者:有点色 -- 发布时间:2017/3/2 9:54:00 -- 以下是引用feixianzhi在2017/3/2 8:33:00的发言:
请有点蓝老师帮忙呀。
看原来的例子,人家不是有一段unlaod表格的代码?加上就好了。 |
-- 作者:feixianzhi -- 发布时间: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 |
-- 作者:有点色 -- 发布时间: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" |