以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  reachtone 老师请进 ~ 【ok 了】  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=5878)

--  作者:mr725
--  发布时间:2010/1/27 19:00:00
--  reachtone 老师请进 ~ 【ok 了】
 您的 以excel文件作为数据源的例子  的按钮代码中
          ts = ts & s.Replace("$","").Trim("\'") & "|"      改为:
          ts = ts & dlg.FileName.split("\\")(dlg.FileName.split("-:special:1:-).length-1) & " 中的表: " & s.Replace("$","").Trim("\'") & "|"


     
会发现: 在同一数据源下,选择不同的Excel工作簿,都会提示“xx数据源已经存在”,但是ListBox中显示的是:不同的工作簿名 和 第一次显示的第一个工作簿的表名。 总感觉~   说不出的味道。
既然提示了,怎样保持原工作簿和表名不变? 也就是怎样判断数据源已经存在呢? 提示之后不执行代码向ListBos写东西了。
 
上面怎么会乱码呢:

图片点击可在新窗口打开查看此主题相关图片如下:未命名.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2010-1-28 0:01:37编辑过]

--  作者:reachtone
--  发布时间:2010/1/27 21:42:00
--  
你这样修改以后,仅仅是修改了表名称的提示信息而已。数据源还是同一个,当然会提示。
如果要添加不同的数据源,可以用随机生成的数据源名称即可。
--  作者:czy
--  发布时间:2010/1/27 22:08:00
--  
用一个数值型的全局变量来动态增加数据源应该可以解决的。
比如动态增加数据源时:AddConnection("excel" & Vars("i"),sjy)
数据引用成功后再对全局变量赋值加1
没测试,理论上应该行的。
--  作者:reachtone
--  发布时间:2010/1/27 22:13:00
--  
我重新做了个例子:
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目21.table


如果要想在列表的同时,显示相应的数据库名称,最好的方法是用TreeView,而不是用ListBox。
用TreeView可以在根节点显示库名称,在下级节点显示该库所包含的表。就象sql server的企业管理器一样,调用起来很方便。
运行效果图如下:

图片点击可在新窗口打开查看此主题相关图片如下:11.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2010-1-27 22:20:47编辑过]

--  作者:mr725
--  发布时间:2010/1/27 23:17:00
--  
谢谢C版 R版  我做成这样的了, 但是同数据源还是会提示,但是不影响正确执行,可以对数据源重命名来加载同个或不同的数据源。还是R版说的用目录树好看写~ 
另外,我还很少使用全局变量,不是很熟悉,一般都是用一个标签或文本框来替代,只是多写几行代码了。

图片点击可在新窗口打开查看此主题相关图片如下:未命名2.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2010-1-27 23:21:08编辑过]

--  作者:wcs
--  发布时间:2010/1/27 23:32:00
--  

佩服你们的钻研精神

我不明白为什么要同时连接几个EXCEL数据源啊!

可能这样子方便,想查阅什么EXCEL文件就查阅什么。

这样用目录树好些,明了。


--  作者:mr725
--  发布时间:2010/1/27 23:50:00
--  
以下是引用wcs在2010-1-27 23:32:00的发言:

佩服你们的钻研精神
我不明白为什么要同时连接几个EXCEL数据源啊!
可能这样子方便,想查阅什么EXCEL文件就查阅什么。
这样用目录树好些,明了。

就是方便查阅~ 啊!
我就是通过这样拿大家的例子不断摆弄(你说的钻研),使自己玩弄代码水平不断提高的(当然也还属于菜鸟级别的),呵呵,我可是玩狐表之前没有一点点基础的(不会任何语言),连易表(听说很容易上手的)基本都不会 。

[此贴子已经被作者于2010-1-27 23:50:37编辑过]

--  作者:blackzhu
--  发布时间:2010/1/28 7:52:00
--  
以下是引用mr725在2010-1-27 23:50:00的发言:

就是方便查阅~ 啊!
我就是通过这样拿大家的例子不断摆弄(你说的钻研),使自己玩弄代码水平不断提高的(当然也还属于菜鸟级别的),呵呵,我可是玩狐表之前没有一点点基础的(不会任何语言),连易表(听说很容易上手的)基本都不会 。

[此贴子已经被作者于2010-1-27 23:50:37编辑过]

  精神可嘉.


--  作者:blackzhu
--  发布时间:2010/1/28 7:52:00
--  
以下是引用mr725在2010-1-27 23:17:00的发言:
谢谢C版 R版  我做成这样的了, 但是同数据源还是会提示,但是不影响正确执行,可以对数据源重命名来加载同个或不同的数据源。还是R版说的用目录树好看写~ 
另外,我还很少使用全局变量,不是很熟悉,一般都是用一个标签或文本框来替代,只是多写几行代码了。

图片点击可在新窗口打开查看此主题相关图片如下:未命名2.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2010-1-27 23:21:08编辑过]

 贴上来看看


--  作者:mr725
--  发布时间:2010/1/28 12:11:00
--  

呵呵 , 我还没有完成,昨天都是在命令窗口测试的,忘了把最后的代码放到按钮中了(又要重写了),图片中下面两个按钮是空的,上面那个ok的按钮,也只是完成对数据源名称的文本框应用ok了。 再说,你看图片数据源名mm5 本来是同一个工作簿下的表,但选择另一个工作簿时,却把工作簿的名称替换掉了,其他没变?还要增加几个判断, 我晕了啊~   有空等下次来劲的时候再继续做吧。

思路是这样的: 显示:数据源名称,工作簿名 和 工作表名,就是一楼的代码! 另加个文本框将每次显示的保存,增加数据源时再判断保存的文本框里是否有同名的,处理后再显示到ListBox中。

不过,还是感觉R版的目录树的想法更好~~~