以文本方式查看主题

-  易表在线答疑  (http://egrid2000.com/dvbbs/index.asp)
--  用户社区  (http://egrid2000.com/dvbbs/list.asp?boardid=2)
----  [原创]文件路径的变量表达方式  (http://egrid2000.com/dvbbs/dispbbs.asp?boardid=2&id=23209)

--  作者:iyplx2425
--  发布时间:2012/12/5 20:17:00
--  [原创]文件路径的变量表达方式

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:路径的变量表达.rar

 

一些按月份制作的数据文件,当要与另外的按月份制作的数据进行交换时,路径的设计是个很费力的事情。尤其当某个月的文件中的表要导入另一个文件上个月某个表的相关数据时,如何把文件的路径设计得写进公式简便,同时让操作者不要做任何思考就能准确地进行数据交换,就比较困难了。

上传文件中,分别有A、B两类文件,B类文件每个月的文件中的“表1”都必须导入A类文件中上个月文件的“表1”的数据。
在B类文件中,自“1302n.egd”开始,都设计了[%文件路径%]变量(为简便起见,假设B类文件中第一个月用另外的方式导入或为空),用在该文件“表1”的“导入上月表1数据”按钮中,其公式简化为ClearGrid(GridName) And Import(GridName,[%文件路径%],"表1","")。将1302n.egd做好后,奖其复制到以后每个月的文件夹中,只要将文件名修改为当月即可,如3月份的改为1302n.egd就行了……

使用时,由于变量[%文件路径%]完整地表达了全部文件路径,因此,无论哪个月份要从A类上个月文件的表1中导入数据,只需点击B类当月文件表1 的导入按钮就可以了,绝无错误。

说明:

1、本例调试时请放在本地E盘(本人是在E盘制作的)。

2、这个设计尤其适用于在局域网上不同用户之间数据的交换,路径视具体情况稍作改动即可。


--  作者:iyplx2425
--  发布时间:2012/12/5 20:24:00
--  

重要更正:

“将1302n.egd做好后,奖其复制到以后每个月的文件夹中,只要将文件名修改为当月即可,如3月份的改为1302n.egd就行了……

应为“1302n.egd做好后,将其复制到以后每个月的文件夹中,只要将文件名修改为当月即可,如3月份的改为1303n.egd就行了……

致歉!

另:文件名第一个字符不要为“0”,如1月份应设计为1301**.egd,而不要设计为03**.egd,因为公式中交替使用了字符函数与数值函数,使用了数值函数后,01、02等开头的文件名,会变为1、2,将发生错误。


--  作者:wjq1072
--  发布时间:2012/12/5 22:10:00
--  

  试试?

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:追加示例.egd


--  作者:iyplx2425
--  发布时间:2012/12/6 8:08:00
--  
老师这个太好了。
--  作者:wjq1072
--  发布时间:2012/12/6 10:22:00
--  

再简单一些试试?

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:追加示例.egd


--  作者:cqlpjks
--  发布时间:2012/12/6 11:58:00
--  

感谢管理员提供。这个易表之间的表数据追加示例好!

它不只是将当前表数据追加到某个易表文件的第一个表,可以将当前表加到动态选定的易表文件中的任何一个表中

变量设置:
%A%:GetFileName("egd文件|*.egd","易表",0)  表达式
%B%:                    字符型

按钮代码:

SetVariable("%B%",[%A%]) And If([%B%]="",SetLabel("","追加取消!"),AppendGrid([%

B%],"表名1") And OpenGrid(Grids) And AppendRows("表名2",0) And CopyGrid([%

B%],GridName,"",GridName) And OpenGrid("表名2") And RemoveGrid(Grids) And Reset()

And SetLabel("","追加完成!"))

注:"表名1"是指当前表,可以用位置或表名表示。"表名2"是指被追加到的易表(动态选择的)

的某个表的表名,可以用位置或表名表示

这样,可能初学者就易学懂了。

我的看法对否?请指教。谢谢!

但我发现一个问题:将当前表"表名1"追加到"表名2"中时已经清除了"表名2"中原来的数据,这样本来是可以的。但与管理员提供的“追加示例”中的“将当前表数据追加到到某个易表文件的第一个表”执行的不同,他是将"表名1"的数据直接追加到"表名2"中原有数据的后面。不知原因出在处?

还有一个问题:我想在将当前表"表名1"追加到"表名2"中后删除第一列中为空的行,我试了很多次没成功,代码将如何修改,请指教。谢谢! 

[此贴子已经被作者于2012-12-6 16:01:47编辑过]

--  作者:iyplx2425
--  发布时间:2012/12/6 12:29:00
--  

5楼比3楼的简单多了。谢谢!


--  作者:iyplx2425
--  发布时间:2012/12/6 12:30:00
--  
能不能设计任意导入的啊?
--  作者:wjq1072
--  发布时间:2012/12/6 12:37:00
--  

这样分二步试试?

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:追加示例.egd


--  作者:iyplx2425
--  发布时间:2012/12/6 13:41:00
--  
这个好像还不太好用。密码框不断地出来了。数据表的选择要做成下拉式的好。