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


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

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

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


加好友 发短信
等级:蒙面侠 帖子:2409 积分:400 威望:0 精华:0 注册:2006/8/14 19:31:00
[求助]求教一个比较复杂的记录导出dbf文件问题!  发帖心情 Post By:2007/7/13 23:48:00 [只看该作者]

今天遇到一个涉及三个表,且相对比较复杂的记录导出问题,实在搞不定,特此向各位版主和易友求教!
情况是这样的:
1、表“mgha1”中“操作号”列的内容为不重复的(即“操作号”列内容相同的记录只有唯一一条);
2、表“jbldfl1”中同样的“操作号”列的内容为可重复的(即“操作号”列内容相同但其他列内容不同的记录可有多条);
3、表“mgha1”与表“jbldfl1”以“操作号”列相关联,即:表“mgha1”与表“jbldfl1”以“操作号”列形成“一对多”或“一对一”(表“jbldfl1”中只有一条对应记录时)的关系;
4、表“jb”中不含“操作号”列,但含有与表“jbldfl1”中其他相关列有关系的列。
我想达到如下要求:
1、在表“mgha1”中选择某一“操作号”的记录,并以此记录找出表“jbldfl1”中相同“操作号”对应的多条(或一条)记录;
2、再以表“jbldfl1”中相同“操作号”对应的多条(或一条)记录的其他列(“路号”、“道号”)的相关值作为条件将“JB”表中
某“路号”的某“道号”下“片号”大于等于“jbldfl1”表中“最小片号”且小于等于“jbldfl1”表中“最大片号”的记录导出至同目录下"sfk.dbf"。
操作例程(步骤):
第1步:在表“mgha1”表的录入窗口“数据发送处理1”中选中“批处理号”为2后点击其右边的按钮可以见到其下左边的关联表中将所在“批处理号”为2的记录列出;
第2步:在其下左边的关联表中按“操作号”为2的记录的“选择”列(其对应操作员为“蒋建萍”)使其逻辑列“选择”打钩,[ 时可见右边关联表中显示出对应的“操作号”为2的8条对应记录(路道号分别为:路2道1、路2道2、路2道9、路2道10、路2道14、路3道3、路4道20、路8道6)
第3步:点击下面两个按钮中左边的一个“以右表中...sfk.dbf”,将“jb”表中路号=2道号=1片号>=1且片号<=4000、路号=2道号=2片号>=1且片号<=4000、路号=2道号=9片号>=1且片号<=4000、... ...、路号=8道号=6片号>=1且片号<=4000的所有记录导出至同目录下"sfk.dbf"。
问题出在第3步上,我实在写不出导出公式(因这个公式涉及循环执行的问题)
在此请教,希望大家帮忙解决!
谢谢!文件附后,无密码egd文件下载

-=-=-=- 以下内容由 tzszw2007年07月13日 11:56pm 时添加 -=-=-=-
如果先按左边按钮的条件生成数据到"sendsfk"表中然后再一次性导出到同目录下sfk.dbf文件又该怎么做呢?

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


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

自己顶一下!

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


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

呵呵,请各位想想办法!帮帮忙吧!

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


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

关系好复杂,一时难于读懂。
第三步做了一下,只做了对jb表符合的数据进行筛选,如果结果正确,你自己再做个导出公式,如果不符要求,等高人出手吧。

egd文件下载


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


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

操作前请先在mgha1表中选中要处理的某行(焦点停留在目标行)再执行窗口的自定义按钮。

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


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

好的,谢谢CZY老师,我先试试!

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


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

已测试,是行的!非常感谢!
我想在此基础上做到"不打开jb表直接在mgha1表中将jb表中符合条件的记录全部复制到sendsfk表中然后再导出到当前目录下sfk.dbf",能否做到呢?egd文件下载(这个文件中我已对JBLDFL表中2路的数据进行修改,将其从1道到21道进行测试,达到要求。现只是想不打开jb表直接将筛选的JB表记录复制到生成sendsfk表)

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


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

自己再顶一下!希望各位版主和易友帮助解决!达到在此基础上做到"不打开jb表直接在mgha1表中将jb表中符合条件的记录全部复制到sendsfk表中然后再导出到当前目录下sfk.dbf"的目的.

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


加好友 发短信
等级:职业侠客 帖子:449 积分:-10 威望:0 精华:0 注册:2006/8/27 12:47:00
  发帖心情 Post By:2007/7/14 8:52:00 [只看该作者]

这样?
1.建变量%@%

2.在mgha1表的按扭公式

if(SetVariable("%@%","") And EvalFor("jbldfl","备注","SetVariable(""%@%"",[%@%]+""|""+""""""路号"""" ,""""="""",""""""+[路号]+"""""",""""道号"""","""" = """",""""""+[道号]+""""""""+"",""""片号"""", """">="""" ,1,""""片号"""", """"<="""" ,4000"")","操作号", "=" ,[操作号],"最小片号", ">=" ,1,"最大片号", "<=" ,4000) And evalfor("jb","备注","Do(112)",1,1),evalfor("jb","备注","eval(Substitute(""HideRowsFor(""+mid([%@%],1)+"")"",""|"","") And HideRowsFor("")) And Do(114)",1,1) And ExportTextFile("c:\jb.txt",",",char(13),"jb",1),"")

   注:由于本机不能对*.dbf测试,只做了txt类型的测试!
      操作前请先在mgha1表中选中要处理的某行(焦点停留在目标行)再执行窗口的按钮。


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


加好友 发短信
等级:蜘蛛侠 帖子:1191 积分:-50 威望:0 精华:0 注册:2007/5/25 12:56:00
  发帖心情 Post By:2007/7/14 9:17:00 [只看该作者]

Substitute([%Czy-6%],",1)",")",1)
Substitute能带参数,为什么帮助文件没说。。。


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