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


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

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

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


加好友 发短信
等级:蒙面侠 帖子:2409 积分:400 威望:0 精华:0 注册:2006/8/14 19:31:00
  发帖心情 Post By:2007/7/15 11:10:00 [显示全部帖子]

呵呵,看来这是易表的"死穴",这么多人浏览过了本贴,还是没个好的解决办法!
唉!可怜啊!

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


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

[这个贴子最后由tzszw在 2007/07/24 09:25pm 第 6 次编辑]

下面引用由tzszw2007/07/15 00:30am 发表的内容:
主是这个文件,CZY老师请看

请CZY老师再看看这个帖子!能否再优化一下公式,再提高生成导出数据的速度!(目前仅每生成一次就要花3-4分钟时间,类似“死机”。)

因为导出数据生成后再加上从系统与抄表机的交换、转换(先导出为TXT的,再用VFP做的转换程序转成DBF的,然后再执行BAT或VBS的将其发送到抄表机中)还要再花约2分钟,这样的话按目前的速度,完全导出一次数据正常都要花分钟。

新文件如下:egd文件下载

这个文件我已经修改过了,在MGHA表的“数据发送处理”窗口中,将CZY老师的按选定条件(在“选择”列打钩)生成发送数据的公式单独放在“czy老师的生成sendsfk表发送数据公式”的命令按钮中。
同时对"jbldfl"表进行了修改,增加了“导出条件1”和“导出条件2”两列,目的是想通过表格自动生成的“导出条件1”和“导出条件2”两列内容,减少中间操作环节。如:假定选择了“操作号”为2的,原来在JB表中同样选择2路1道1-4000号以内记录生成sendsfk记录的操作条件是:“路号=2”且“道号=2”且“最小片号>=1”且“最大片号<=4000”,现在只要在JB表中选“新户号>=02010001且新户号<=02014000”即可,其他的以此类推,我想肯定会比以前的算法简便多了。
这个条件我想是要在筛选出一些符合生成的条件(jbldfl表中对应于mgha表打钩的多条记录)后执行一个循环命令,将JB表中新户号符合02010001-02014000、02020001-02024000、02090001-02094000、02100001-02104000、02140001-02144000、03030001-03034000、04200001-04202000、08060001-08064000的记录一一CopyFor到sendsfk即可,只是我不会也不懂使用易表的循环命令。特此请教!
谢谢!附图示说明:

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


加好友 发短信
等级:蒙面侠 帖子:2409 积分:400 威望:0 精华:0 注册:2006/8/14 19:31:00
  发帖心情 Post By:2007/7/23 23:52:00 [显示全部帖子]

自己顶上去好让CZY版主看到!

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


加好友 发短信
等级:蒙面侠 帖子:2409 积分:400 威望:0 精华:0 注册:2006/8/14 19:31:00
  发帖心情 Post By:2007/7/24 0:32:00 [显示全部帖子]

呵呵,我顶了,但好象CZY老师没看到呀!

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


加好友 发短信
等级:蒙面侠 帖子:2409 积分:400 威望:0 精华:0 注册:2006/8/14 19:31:00
  发帖心情 Post By:2007/7/24 15:52:00 [显示全部帖子]

非常感谢LXL和smileboy 老师,等晚上有空认真学习一下你们在45到47楼的精典讲解,再对CZY老师原来给出的公式进行消化理解,争取进行精简改进,以进一步提高运行效率和速度。       这个速度太慢实在令人难以忍受!
说实在的,我对eval和evalfor以及Substitute这三个函数学得不好,特怕遇见后两个,几位版主帮忙写的涉及后两个的公式有时并没理解,就糊里糊涂地用,所以不会变通和修改。

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


加好友 发短信
等级:蒙面侠 帖子:2409 积分:400 威望:0 精华:0 注册:2006/8/14 19:31:00
  发帖心情 Post By:2007/7/24 21:23:00 [显示全部帖子]

[这个贴子最后由tzszw在 2007/07/24 10:48pm 第 2 次编辑]

下面引用由tzszw2007/07/23 11:23pm 发表的内容:
请CZY老师再看看这个帖子!能否再优化一下公式,再提高生成导出数据的速度!(目前仅每生成一次就要花3-4分钟时间,类似“死机”。)
因为导出数据生成后再加上从系统与抄表机的交换、转换(先导出为TXT的,再 ...

呵呵,这个地方做了一张图示的,但忘记上传了,现补上,我想如果当初就上传的话,CZY老师一定会看到很明白的,在此致歉!

呵呵,研究了半天,对CZY老师给的公式就是弄不懂,改了几次,都没得到正确结果,我这个学生可能是太笨了,还是请CZY老师有空对我41楼的内容修改一下吧!先再次谢谢CZY老师!


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


加好友 发短信
等级:蒙面侠 帖子:2409 积分:400 威望:0 精华:0 注册:2006/8/14 19:31:00
  发帖心情 Post By:2007/7/24 22:48:00 [显示全部帖子]

[这个贴子最后由tzszw在 2007/07/25 00:02am 第 1 次编辑]

自己再顶一下,希望czy老师有空能看到,谢谢!

这个是我自己参照CZY老师的公式修改的,但1条记录都没成功生成出来,气闷!
egd文件下载


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


加好友 发短信
等级:蒙面侠 帖子:2409 积分:400 威望:0 精华:0 注册:2006/8/14 19:31:00
  发帖心情 Post By:2007/7/25 1:34:00 [显示全部帖子]

呵呵,终于又见到CZY老师上线了,谢谢呀!我先试试再向你汇报结果。

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


加好友 发短信
等级:蒙面侠 帖子:2409 积分:400 威望:0 精华:0 注册:2006/8/14 19:31:00
  发帖心情 Post By:2007/7/25 1:50:00 [显示全部帖子]

呵呵,不行啊,报“操作完毕,耖时1秒!”,但没生成出数据来。
此外,好象你将jbldfl表的"导出条件1"、"导出条件2"的类型改成数值型了,这样JB表中的新户号的类型就不对应了,不对应是没法筛选出记录来的。
我改过这两个列的类型为字符型时,也没生成数据出来,再将shx1和shx2两个变量的类型也改成字符型后还是没生成出数据来,不知何故?
请问CZY老师,在你那能生成出数据么(请先清除sendsfk表的数据试试)?

-=-=-=- 以下内容由 tzszw2007年07月25日 01:58am 时添加 -=-=-=-
好象JB表中的“新户号”列的类型也变成数值型的了,

-=-=-=- 以下内容由 tzszw2007年07月25日 02:00am 时添加 -=-=-=-
好象JB表中的“新户号”列的类型也变成数值型的了,

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


加好友 发短信
等级:蒙面侠 帖子:2409 积分:400 威望:0 精华:0 注册:2006/8/14 19:31:00
  发帖心情 Post By:2007/7/25 2:12:00 [显示全部帖子]

下面引用由czy2007/07/25 01:01am 发表的内容:
我在“MGHA”表的“数据发送处理”窗口做了个自定义按钮,按你的要求对“jb”符合条件的数据进行了筛选(自认为,但不一定理解的对),你先看看。

其实这个筛选条件的理解不复杂呀!
1、先在MGHA表的“数据发送处理”窗口点选“批处理号”;
2、还在MGHA表的“数据发送处理”窗口钩选“操作号”筛选出JBLDFL表中对应此操作号的有关路、道的片号上下限记录,得出符合条件的“每条记录”的“导出条件1”(相当于对应路道的新户号开始号码,即同一条筛选条件的上限)和“导出条件2”(相当于对应路道的新户号结束号码,即同一条筛选条件的下限)
3、通过公式将jb表中的“新户号”符合JBLDFL中对应同一“操作号”的上限--下限之间的记录一一CopyFor到sendsfk中。

 回到顶部