| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3154 人关注过本帖
标题:表1转换成表2
取消只看楼主 加入收藏
tjdeming
Rank: 2
等 级:论坛游民
帖 子:429
专家分:54
注 册:2013-3-4
结帖率:90.14%
收藏
已结贴  问题点数:20 回复次数:11 
表1转换成表2
各位好,有一张QQ原始表,经统计后变成 BM表 形式 如何实现? 谢谢谢!
tabl1_tabl2.rar (1.87 KB)
  
注:部门和工资二大类字段名,有时候有增减的情况发生。

[此贴子已经被作者于2017-4-20 21:03编辑过]

搜索更多相关主题的帖子: 如何 统计 
2017-04-20 20:53
tjdeming
Rank: 2
等 级:论坛游民
帖 子:429
专家分:54
注 册:2013-3-4
收藏
得分:0 
回复 2楼 sdta
谢谢SDTA,第二张表是一张定期要统计的报表,通过VFP程序来做可减少手工输入性错误,确保数据正确无误。
谢谢。
2017-04-21 06:30
tjdeming
Rank: 2
等 级:论坛游民
帖 子:429
专家分:54
注 册:2013-3-4
收藏
得分:0 
回复 4楼 吹水佬
感谢 吹水佬 的付出,该程序运行至
EXECSCRIPT("BLANK FIELDS " + fieldlist + " ALL")
估计是我用VFP6.0原因。不能识别 EXECSCRIPT命令。
对不起吹先生,我没有说清楚。
麻烦能帮我改成VFP6.0的语句,行吗?
2017-04-21 18:53
tjdeming
Rank: 2
等 级:论坛游民
帖 子:429
专家分:54
注 册:2013-3-4
收藏
得分:0 
回复 6楼 sdta
VFP版本不重要,解决问题才是硬道理。
2017-04-21 19:49
tjdeming
Rank: 2
等 级:论坛游民
帖 子:429
专家分:54
注 册:2013-3-4
收藏
得分:0 
回复 8楼 吹水佬
谢谢热心回复
第一处我改了,运行至第二个EXECSCRIPT,又卡了。
2017-04-21 20:12
tjdeming
Rank: 2
等 级:论坛游民
帖 子:429
专家分:54
注 册:2013-3-4
收藏
得分:0 
回复 10楼 xinjie
非常感谢你的代码,不过我的BM表的字段名位置是固定的,第一列的内容顺序也是固定的(除非有内容增减)。
2017-04-21 21:06
tjdeming
Rank: 2
等 级:论坛游民
帖 子:429
专家分:54
注 册:2013-3-4
收藏
得分:0 
回复 6楼 sdta
系统WIN10G下由6.0改用9.0后,DBF表都变成”只读”状态。
2017-04-22 08:53
tjdeming
Rank: 2
等 级:论坛游民
帖 子:429
专家分:54
注 册:2013-3-4
收藏
得分:0 
非常感谢各位的无私付出,现附上VFP6.0的代码,一是VFP9.0和6.0 都有了,二来表示这个贴子也有个结果,三来恳请高手给予点评、修改。
tabl1-tabl2_vfp6.0.rar (3.35 KB)

*****VFP6.0***
CLOSE ALL
set talk off
set safety off
use qq  ALIAS qq IN 0
 index on ALLT(部门) tag 部门
 sele 部门  from qq group by 部门 into tabl bmb
sele bmb
 cstr=""
 scan
     cstr=cstr+allt(部门)+" N(10,2),"
 endscan
 cstr=left(cstr,len(cstr)-1)
 
 create TABL BM (部门 C(10),DM C(2),&cstr,hj n(12,2))
 append from GZB fields 部门,DM
 *index on 部门 tag 部门
 sele BM
   FOR I=3 TO FCOUNT()
           FN=FIELD(I)
       scan
            ZDM=ALLT(BM.部门)
             if BM.部门='人数'
                 SELE COUNT(*) FROM QQ WHERE  QQ.部门=FN INTO ARRAY RS
                 REPL &FN  WITH RS  
              ENDIF
              SELE  QQ           
                 if fsize('&ZDM')>0
                     SUM(&ZDM) TO QN FOR QQ.部门=FN
                     SELE BM
                     REPL &FN  WITH QN   
                 Endif
         ENDscan
    endfor
 
  SELE BM
   nfield=''
  for i=3 to fcount()
      nfield=nfield+field(i)+"+"
  endfor
    nfield=left(nfield,len(nfield)-1)   
  repl all hj with &nfield
 use
 use bm
 brow

[此贴子已经被作者于2017-4-24 20:05编辑过]

2017-04-24 19:59
tjdeming
Rank: 2
等 级:论坛游民
帖 子:429
专家分:54
注 册:2013-3-4
收藏
得分:0 
回复 10楼 xinjie
Select temp2
 Do (_Genxtab) With 'bm2.dbf',.T.,.T.,.T.,,,,.T.,0,.T.

这句没有看懂,能解答吗,谢谢!
2017-04-26 20:56
tjdeming
Rank: 2
等 级:论坛游民
帖 子:429
专家分:54
注 册:2013-3-4
收藏
得分:0 
回复 10楼 xinjie
Select temp2
 Do (_Genxtab) With 'bm2.dbf',.T.,.T.,.T.,,,,.T.,0,.T.

这句没有看懂,能解答吗,谢谢!
2017-04-26 20:56
快速回复:表1转换成表2
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.045330 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved