易表在线答疑技术与交流用户社区 → [求助]求教一个比较复杂的记录导出dbf文件问题!


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

主题:[求助]求教一个比较复杂的记录导出dbf文件问题!

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


加好友 发短信
等级:蒙面侠 帖子:2409 积分:400 威望:0 精华:0 注册:2006/8/14 19:31:00
  发帖心情 Post By:2007/7/25 14:09:00 [只看该作者]

喔,CZY老师是这样的呀!我倒是没注意看有没有生成数据的公式,可能是心情太过急切,没太细心看,马上找个有易表的环境试试,我这只有电脑报版的,限500行。
谢谢呀!

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


加好友 发短信
等级:蒙面侠 帖子:2409 积分:400 威望:0 精华:0 注册:2006/8/14 19:31:00
  发帖心情 Post By:2007/7/25 20:21:00 [只看该作者]

呵呵,将几个列的类型改为数值型时是可以生成按条件筛选的数据的,但速度几乎与老公式相差不大,优势不明显,加上一定要改变相关列的类型,我觉得这个不好!
还是用老公式吧,忙了天把,失败告终.
看来易表的软肋已不少了,确实要改进啦!
急盼新版快点出炉!

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


加好友 发短信
等级:超级版主 帖子:13147 积分:-89 威望:0 精华:0 注册:2006/8/11 11:14:00
  发帖心情 Post By:2007/7/25 22:41:00 [只看该作者]

不赞同楼上所说。
如果说生成导出数据需要3分钟,这不是易表的问题,应该是公式存在问题。

-=-=-=- 以下内容由 Czy2007年07月25日 10:51pm 时添加 -=-=-=-
jbldfl表中的导出条件只是做为辅助用的,我想数值和符合应该无大碍吧?
jb表新户号改成数值型我想也不没有什么影响。

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


加好友 发短信
等级:超级版主 帖子:13147 积分:-89 威望:0 精华:0 注册:2006/8/11 11:14:00
  发帖心情 Post By:2007/7/25 23:29:00 [只看该作者]

问一下sendsfk中a列的刷新公式有何作用?

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


加好友 发短信
等级:超级版主 帖子:13147 积分:-89 威望:0 精华:0 注册:2006/8/11 11:14:00
  发帖心情 Post By:2007/7/25 23:36:00 [只看该作者]

因未知sendsfk表中a列的实际作用,暂时忽略了对此列的计算。
生成导出数据需时3秒。
如果加上对a列的计算,生成数据10秒以内。

egd文件下载


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


加好友 发短信
等级:蒙面侠 帖子:2409 积分:400 威望:0 精华:0 注册:2006/8/14 19:31:00
  发帖心情 Post By:2007/7/26 7:39:00 [只看该作者]

哈哈,CZY老师你好,报告一件大好事,今天早上按你给出的新公式重做了数据的生成,居然只要4秒钟,原来可是要花3分多钟的!
并且我还在JB表中新增了一列“XHH”(数值型,刷新公式=[新户号]),这样就解决了生成和导出数据个别列类型改变的问题,达到不改变用户使用习惯的问题。
CZY老师,谢谢呀!真是太谢谢了!

-=-=-=- 以下内容由 tzszw2007年07月26日 07:42am 时添加 -=-=-=-
那个sendsfk表中的“a”列也去掉了,有关“A”列的公式也去全掉了。

-=-=-=- 以下内容由 tzszw2007年07月26日 07:47am 时添加 -=-=-=-
目前,这个系统中唯一感到不满意的部分就数sendsfk导出成txt文件再通过VFP的程序转换成dbf文件的部分了,我原本是要直接导出成DBF文件的,因为易表导出的DBF有严重问题,所以只好通过VFP的程序特殊处理了,这也是一种遗憾!
再次感谢CZY,再次感谢各位帮助我的版主和易友!

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


加好友 发短信
等级:蒙面侠 帖子:2409 积分:400 威望:0 精华:0 注册:2006/8/14 19:31:00
  发帖心情 Post By:2007/7/26 21:30:00 [只看该作者]

呵呵,CZY老师啊,现在那些公式里,就只有下面的公式我没掌握要义:EvalFor("jb",1,"ShowAllRows() And eval(Substitute([%Czy-6%],"",1)"","")"",1))",[jb!Rows],[jb!Rows]) And ReplaceFor("jb","AA",0) and EvalFor("jb","AA",-1,0,0,1)特别是第一个AND后面的eval(Substitute([%Czy-6%],"",1)"","")"",1))",[jb!Rows],[jb!Rows]) And ReplaceFor("jb","AA",0) and EvalFor("jb","AA",-1,0,0,1),实在搞不清是什么意思?

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


加好友 发短信
等级:超级版主 帖子:13147 积分:-89 威望:0 精华:0 注册:2006/8/11 11:14:00
  发帖心情 Post By:2007/7/26 22:22:00 [只看该作者]

如果你能看懂[%Czy-6%]的表达式就很好理解了。

EvalFor("jb",1,"
重算jb表第一列;
(重算公式以你选择操作号1为例)
ShowAllRows() And eval(Substitute([%Czy-6%],"",1)"","")"",1)
Substitute你应该能看懂

ShowAllRows() And SetVariable("%Czy-3%",[%Czy-3%]+1) And SetVariable("%Czy-4%",Split([%Czy-1%],"|",[%Czy-3%])) And SetVariable("%Czy-5%",Split([%Czy-2%],"|",[%Czy-3%])) And  FilterFor("新户号",">=",[%czy-4%],"新户号","<=",[%czy-5%],1) And SetVariable("%Czy-3%",[%Czy-3%]+1) And SetVariable("%Czy-4%",Split([%Czy-1%],"|",[%Czy-3%])) And SetVariable("%Czy-5%",Split([%Czy-2%],"|",[%Czy-3%])) And  FilterFor("新户号",">=",[%czy-4%],"新户号","<=",[%czy-5%],1) And SetVariable("%Czy-3%",[%Czy-3%]+1) And SetVariable("%Czy-4%",Split([%Czy-1%],"|",[%Czy-3%])) And SetVariable("%Czy-5%",Split([%Czy-2%],"|",[%Czy-3%])) And  FilterFor("新户号",">=",[%czy-4%],"新户号","<=",[%czy-5%],1)

粗体部分为变量%Czy-6%动态生成的公式。

,[jb!Rows],[jb!Rows])
EvalFor指定重算开始行和结束行。

ReplaceFor("jb","AA",0)

将jb表AA列的数据替换为0值。

EvalFor("jb","AA",-1,0,0,1)

将jb表AA列的数据替换为真,计算条件为所有行,排除隐藏行。

说明:分别两次对AA表进行赋值是为CopyFor创造条件。


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


加好友 发短信
等级:蒙面侠 帖子:2409 积分:400 威望:0 精华:0 注册:2006/8/14 19:31:00
  发帖心情 Post By:2007/7/26 23:14:00 [只看该作者]

呵呵,没想到eval(Substitute([%Czy-6%],"",1)"","")"",1)公式是这么的复杂!
谢谢!请容我慢慢消化理解!

 回到顶部
总数 69 上一页 1 2 3 4 5 6 7