标题:求助,凭证科目合并
只看楼主
hyz00001
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:168
专家分:137
注 册:2012-10-5
得分:0 
太感谢sdta,完美的解决了这个问题。
用VFP的代码比VBA的代码简单多了。坚守VFP最后的阵地,我们一直用它。
2018-11-22 21:56
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:8 
这样可否

SELECT 会计期间,凭证字号, SPACE(240) 凭证 FROM test WHERE .F. INTO CURSOR tj READWRITE
SELECT tj
INDEX on 会计期间+凭证字号 TAG tag_tj

SELECT *, IIF(dr==0,"cr","dr") dc FROM test INTO CURSOR tmp
SELECT tmp
INDEX on 会计期间+凭证字号+dc+一级科目 TAG tag_dc UNIQUE
SET RELATION TO 会计期间+凭证字号 INTO "tj"
SCAN
    IF !FOUND("tj")
        INSERT INTO tj VALUES (tmp.会计期间, tmp.凭证字号, "")
    ENDIF
    REPLACE tj.凭证 WITH tj.凭证 - tmp.dc - tmp.一级科目
ENDSCAN

SELECT *, SPACE(240) 凭证 FROM test INTO CURSOR tmp READWRITE
SELECT tmp
SET RELATION TO 会计期间+凭证字号 INTO "tj"
REPLACE tmp.凭证 WITH tj.凭证 ALL IN "tmp"

SELECT * FROM tmp
收到的鲜花
  • hyz000012018-11-22 22:16 送鲜花  2朵   附言:惊动版主大大,多多包涵
2018-11-22 22:04
hyz00001
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:168
专家分:137
注 册:2012-10-5
得分:0 
以下是我自己编写的代码,思路是先建立一个数组J,
数组运行完成后可以看到具体的数据,J(1,1)数据的第一列存放会计期间-凭证字号,数组的第二列存放我们需要的凭证内容。
第一个问题:数组的65536行是我自己设置的,不知道怎么样让它可以自动按照实际的行数来收缩。
第二个问题:怎么让我的原始数据可以从数组中跟新第二列的值。

程序代码:
DECLARE j(65536,2)
SELECT * FROM 凭证 INTO TABLE te
ALTER table te ADD COLUMN 凭证 c(80)
UPDATE te SET 凭证=IIF(借方=0,'cr','dr')-一级科目
sw =''
c=''
item =0
CLOSE TABLES 
USE te 
GO TOP 
DO WHILE NOT EOF()
    IF 会计期间-凭证字号<>sw THEN 
        item =item+1
        j(item,1)=ALLTRIM(sw)
        j(item,2)=ALLTRIM(c)
        sw =''
        c=''
    ENDIF
    sw=会计期间-凭证字号
    IF !凭证$c THEN 
        c =c-凭证   &&凭证内容
    ENDIF
    SKIP

ENDDO
2018-11-22 22:14
wangzhiyi
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:34
帖 子:366
专家分:684
注 册:2014-4-9
得分:0 
你应该是把原始的EXCEL数据和目标的DBF数据做个图表示出来,再讲你的原理,这些大神才好帮你写代码。
看你13楼的代码,感觉你原来用VBA比较多。
2018-11-23 15:07
kesc
Rank: 2
等 级:论坛游民
威 望:1
帖 子:84
专家分:10
注 册:2006-10-11
得分:0 
这样编制现金流量表,我也是醉了,建议参考金蝶的做法
2018-11-26 10:01
hyz00001
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:168
专家分:137
注 册:2012-10-5
得分:0 
谢谢大家,已经找到答案,并且还新学习了不少内容。
2018-11-26 10:10



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-491467-1-1.html




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

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