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


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

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

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


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

不是当前表不能筛选,不知道算不算易表的一个小缺陷。
9楼的方法很巧妙,通过赋值的方式实现  筛选和全显。不过这个方法需要一个辅助列。(楼主用9楼的办法记得把备注列 改成其他辅助列。要不你备注列的内容就全没了)

建议 filterfor等函数加上一个 gird参数。


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


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

下面引用由lxl2007/07/14 10:07am 发表的内容:
不是当前表不能筛选,不知道算不算易表的一个小缺陷。
9楼的方法很巧妙,通过赋值的方式实现  筛选和全显。不过这个方法需要一个辅助列。(楼主用9楼的办法记得把备注列 改成其他辅助列。要不你备注列的内容就全 ...

呵。无需加辅助列的!只要写成这样的公式“evalfor(..,“if(...公式,[任意列],[任意列])”)”就行啦!我只不过偸个懒吧!

筛选函数(FilterFor、HideRowsFor.....等)只能在当前表才有效的,无需加“grid”,易表帮助指南中也无此规则!!


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


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

呵呵,我知道FilterFor没有gird参数才建议的。
我不是对楼主建议,而是对易表、对老六建议的 。
建议加这么一个参数,实现跨表的筛选。

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


加好友 发短信
等级:新手上路 帖子:207 积分:0 威望:0 精华:0 注册:2007/7/10 16:20:00
  发帖心情 Post By:2007/7/14 15:23:00 [只看该作者]

下面引用由gdlgh2007/07/14 08:52am 发表的内容:
这样?
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),"")


太多层的引号了.看不懂.太深了.


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


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

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

下面引用由gdlgh2007/07/14 08:52am 发表的内容:
这样?
1.建变量%@%
2.在mgha1表的按扭公式
if(SetVariable("%@%","") And EvalFor("jbldfl","备注","SetVariable(""%@%"",+""|&q ...

gdlgh老师:
你好!刚刚试用了你修改的公式,测试了"操作号"和"批处理号"均为2的,达到要求。
但我改成导出DBF文件后就不行了,总是报“记录过大”错误,不知什么原因?
我的设计要求是先将符合条件的记录追加到sendsfk表中,然后再导出至同目录下sendsfk.dbf中(因此表结构是与手掌机互传数据用的,固定结构不好改动),想请你再帮忙解决一下!(参见修改的按钮内公式,最好请你在mgha1表的录入窗口中的“gdlgh老师的公式”中修改一下。将jb表中筛选条件记录追加到sendsfk表后再导出至同目录下sendsfk.dbf的方法请参见"czy老师的公式"按钮中内容)
谢谢!egd文件下载

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


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

下面引用由tzszw2007/07/14 02:58am 发表的内容:
我想在此基础上做到"不打开jb表直接在mgha1表中将jb表中符合条件的记录全部复制到sendsfk表中然后再导出到当前目录下sfk.dbf",能否做到呢?

(这个文件中我已对JBLDFL表中2路的数据进行修改,将其从1道到21道进行测试,达到要求。现只是想不打开jb表直接将筛选的JB表记录复制到生成sendsfk表)

不打开jb表直接进行筛选和复制都可以,但sendsfk表和jb表的结构不一样,怎么复制?


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


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

[这个贴子最后由tzszw在 2007/07/24 00:29am 第 3 次编辑]

下面引用由czy2007/07/14 06:29pm 发表的内容:
不打开jb表直接进行筛选和复制都可以,但sendsfk表和jb表的结构不一样,怎么复制?

我已对你给出的公式进行了相关修改且导出成功了(将筛选的数据追加至sendsfk表且再导出至同目录下sendsfk.dbf的部分已修改到位,因为此表结构是与手掌机互传数据用的,固定结构不好改动),只是从mgha1表到jb表转换打开时需解决闪屏问题,谢谢CZY老师继续关注!

对CZY老师提供的公式进行修改后的新文件已上传至17楼!egd文件下载


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


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

这样试试:

SetVariable("%Czy-1%",ListFor("jbldfl","路号","操作号",[操作号],2)) And SetVariable("%Czy-2%",ListFor("jbldfl","道号","操作号",[操作号],2)) And SetVariable("%Czy-3%",0) And SetVariable("%最小片号%",MinFor("jbldfl","最小片号","操作号","=",[操作号])) And SetVariable("%最大片号%",MaxFor("jbldfl","最大片号","操作号","=",[操作号]))  And AddRow("jb",1) And EvalFor("jb",1,"ShowAllRows() And eval(Substitute([%Czy-6%],"",1)"","")"",1))",[jb!Rows],[jb!Rows]) And ClearGrid("sendsfk") And EvalFor("jb",1,"CopyFor(""sendsfk"",""PH,BH,WZ,HM,KJ,LB,SQ,BQ,MF,YB,BZ,ZT,LS,HB,ZB"",""新户号,表号,位置,片号,口径,用水类别,上月示数,本月示数,单价,电话号码,标志,新增户,平均水度,换表前抄见,坐收"",""新户号"",""<>"","""")",[jb!Rows],[jb!Rows]) and DelRow("jb",[jb!Rows])and ExportDBFile(docdir+"sendsfk.dbf",10,"sendsfk")


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


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

下面引用由czy2007/07/14 07:13pm 发表的内容:
这样试试:
SetVariable("%Czy-1%",ListFor("jbldfl","路号","操作号",,2)) And SetVariable("%Czy-2%",ListFor("jbldfl","道号"," ...

CZY老师:
你好!你这个新公式没法试呀!可能是有嵌套问题,按钮公式一保存程序就自动退出,但我又找不出原因在哪!还得请你再改一下才行的。

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


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

在自定义按钮中执行一下这个公式后再将18楼公式贴入即可。
ListFor("jbldfl","路号","操作号",[操作号],2)

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