Rss & SiteMap
搭建论坛 http://bbs.diylsoft.com:8118/starforum/index.asp
呵呵,我的观点和你一样。。。
如果用搭建中的“ADO数据库连接”构件,并指定数据库类型为EXCEL,则只能显示连接成功,至于里面有几张表、甚至想看一下表里面的内容,根本就实现不了(我用的2003版本,其它的没测试过)。针对这一点,我们可以通过如下方法解决:
1、EXCEL数据库连接成功以后,要对表中的文件进行查询,表名称后面必须加上$,并以方括号引起来。如select * from [Sheet1$]。搭建在这方面可能没有对EXCEL类型的数据库处理好;
2、经过上面一步的操作,就可以顺利显示EXCEL数据表中的内容了。但是,如果这个时候想对表中的内容进行编辑修改的话,则不断提示“操作必须使用一个可更新的查询”。也就是说,用搭建自带的EXCEL数据库连接,是具有只读属性的,而不具有写入属性。
后来经过深入研究发现,搭建产品中的“ADO数据库连接”构件,其实就是调用微软“数据连接属性”中的jet提供程序。既然搭建自己做的EXCEL连接不好使,咱就直接用微软的吧。操作方法:
1、加入一个“ADO数据库连接”构件后,将其“数据库种类”设为“自定义”;
2、在“连接字符串”属性上双击,再点击“建立”,这时,搭建将调出微软的“数据连接属性”设置;
3、在“提供程序”选项卡上,选择“Jet 4.0 OLE DB Provider”;
4、在“连接”选项卡上,浏览并选择你的工作簿文件(默认为ACCESS文件,可将文件类型改为全部)。注意,要将“用户”、“密码”等项设置为空,因为这些不适用于 Excel 连接;
5、在“所有”选项卡上,从列表中选择扩展属性(Extended Properties),然后单击编辑值,输入 Excel 8.0。这里也可用分号 (;) 将其与任何其他已有的项分隔。这一步非常关键,否则的话,Jet提供程序将只会指向Access数据库;
6、返回到“连接”选项卡,单击“测试连接”,OK,完成!
通过这样的连接所建立的各种查询显示,编辑修改就不存在任何问题了。我也为此专门做了个例子,请各位下载测试。
楼主的“完美方案”也可以公开出来让我们学习一下嘛。
事实证明,搭建官方的说法是不成立的。至于官方是否改进“SQL数据库连接”构件,就看他们自己了。这个问题我早就发现了,本来是不想说的,看到楼主如此关心EXCEL的读写问题,我也就跟个帖表达一下。
对啊,搭建的很多构件,包括属性都是调用微软的,当我了解到这一点后,通过查看微软支持库中ADO与EXCEL调用时,找到了解决方案,
关于读入,对于不太了解SQL的朋友,我的方法是,在EXCEL---插入-----名称----定义-----弹出窗口,输入一个名称,定义区域,确定就可以了,这种方法的好处在于在一个SHEET里可以定义多个(N个)区域,想读哪就读哪。
现在试一试吧,,,。。。
另外加上reachtone朋友的写入,就可以完全自由的对EXCEL表实施操作了。。。
关于读入,对于不太了解SQL的朋友,我的方法是,在EXCEL---插入-----名称----定义-----弹出窗口,输入一个名称,定义区域,确定就可以了,这种方法的好处在于在一个SHEET里可以定义多个(N个)区域,想读哪就读哪。
另外加上reachtone朋友的写入,就可以完全自由的对EXCEL表实施操作了。。。
呵呵,没必要这么复杂,其实就是一个“ADO数据库连接”构件的问题。只要通过“字符串”方式对EXCEL文件建立连接,搭建就可以象处理其它数据库一样对任意列、任意条件的数据记录进行查询和修改。而且,不同数据库的连接字符串,其格式都是固定的,完全可以在创建窗口的时候,自己直接给“连接字符串”赋值,非常简单。
我也没做什么写入功能,只是改变了一下EXCEL文件的连接方式而已。如果搭建官方能完善一下EXCEL文件的连接,那就最好不过了。
《搭建》是严格按照“系统构件”的模式做的,给人以很大的发挥空间;
《搭建》不乱做构件,这也是我喜欢它的原因。