dy99zh.prg

来自「使用VFP编写的信用社系统专用会计报表系统,可上报,汇总,打印.是一款优秀的信用」· PRG 代码 · 共 230 行

PRG
230
字号
* -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
*  文件名: DY99ZH.PRG <-- 本文件由 UnFoxAll 创建
* -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-


 CLOSE DATABASES 
 RQNIAN = NIAN
 SELECT 1
 USE lib\zb99.dat
 SELECT 2
 USE lib\zb99a.dat
 SELECT 3
 USE lib\zb99b.dat
 ZAP 
 SELECT 1
 SCAN FOR RQ = RQNIAN
 SELECT 3
 LOCATE FOR XH = ZB99.XH
 IF  .NOT. FOUND()
 APPEND BLANK
 REPLACE XH WITH ZB99.XH
 ENDIF 
 ENDSCAN 
 SELECT 4
 USE lib\dy99tmp.dat
 ZAP 
 SELECT 5
 USE LIB\XM01.DAT
 SELECT 6
 USE LIB\XM99.DAT
 SELECT 7
 USE DAT\DY99B
 SELECT 8
 USE DAT\DY99A
 M_JS1 = 0
 M_JS2 = 0
 M_JS3 = 0
 N1 = 0
 N2 = 0
 M_XH = 0
 SELECT 3
 GO TOP
 DO WHILE .T.
 M_JS1 = 0
 M_JS2 = 0
 M_JS11 = 1
 M_JS21 = 1
 IF EOF()
 EXIT 
 ENDIF 
 M_XH = XH
 SELECT 1
 GO TOP
 SCAN FOR XH = M_XH
 M_JS1 = M_JS1 + 1
 ENDSCAN 
 SELECT 2
 GO TOP
 SCAN FOR XH = M_XH
 M_JS2 = M_JS2 + 1
 ENDSCAN 
 IF M_JS1 = 0 .OR. M_JS2 = 0
 IF M_JS2 = 0
 FOR N = 1 TO M_JS1 * 2 - 1
 SELECT 4
 APPEND BLANK
 IF MOD(N,2) = 1
 SELECT 1
 LOCATE FOR XH = M_XH
 FOR M = 1 TO M_JS11 - 1
 SKIP 
 ENDFOR 
 M_XMDH = XMDH
 SELECT 6
 LOCATE FOR XMDH = M_XMDH
 M_XMMC = XMMC
 SELECT 8
 LOCATE FOR XMDH = M_XMDH
 M_DA1 = DA1
 M_DA2 = DA2
 SELECT 4
 REPLACE XMDH1 WITH M_XMDH , XMMC1 WITH M_XMMC , DA11 WITH M_DA1 , DA12 WITH M_DA2
 M_JS11 = M_JS11 + 1
 ELSE 
 REPLACE BZ1 WITH .T.
 ENDIF 
 ENDFOR 
 ELSE 
 FOR N = 1 TO M_JS2
 SELECT 4
 APPEND BLANK
 SELECT 2
 LOCATE FOR XH = M_XH
 FOR M = 1 TO M_JS21 - 1
 SKIP 
 ENDFOR 
 M_XMDH = XMDH
 SELECT 5
 LOCATE FOR XMDH = M_XMDH
 M_XMMC = XMMC
 SELECT 7
 LOCATE FOR XMDH = M_XMDH
 M_DA1 = DA5
 M_DA2 = DA6
 SELECT 4
 REPLACE XMDH2 WITH M_XMDH , XMMC2 WITH M_XMMC , DA21 WITH M_DA1 , DA22 WITH M_DA2
 M_JS21 = M_JS21 + 1
 IF MOD(N,2) = 0
 REPLACE BZ1 WITH .T.
 ENDIF 
 ENDFOR 
 ENDIF 
 ELSE 
 IF M_JS2 <= (M_JS1 * 2 - 1)
 N1 = CEILING((M_JS1 * 2 - 1) / (M_JS2 + 1))
 IF N1 < 0
 N1 = 1
 ENDIF 
 N2 = CEILING((M_JS1 * 2 - 1) / (M_JS2 + 1))
 M_JS3 = M_JS1 * 2 - 1
 FOR N = 1 TO M_JS3
 SELECT 4
 APPEND BLANK
 IF MOD(N,2) = 1
 SELECT 1
 LOCATE FOR XH = M_XH
 FOR M = 1 TO M_JS11 - 1
 SKIP 
 ENDFOR 
 M_XMDH = XMDH
 SELECT 6
 LOCATE FOR XMDH = M_XMDH
 M_XMMC = XMMC
 SELECT 8
 LOCATE FOR XMDH = M_XMDH
 M_DA1 = DA1
 M_DA2 = DA2
 SELECT 4
 REPLACE XMDH1 WITH M_XMDH , XMMC1 WITH M_XMMC , DA11 WITH M_DA1 , DA12 WITH M_DA2
 M_JS11 = M_JS11 + 1
 ELSE 
 REPLACE BZ1 WITH .T.
 ENDIF 
 IF N = N1 AND M_JS21 <= M_JS2
 SELECT 2
 LOCATE FOR XH = M_XH
 FOR M = 1 TO M_JS21 - 1
 SKIP 
 ENDFOR 
 M_XMDH = XMDH
 SELECT 5
 LOCATE FOR XMDH = M_XMDH
 M_XMMC = XMMC
 SELECT 7
 LOCATE FOR XMDH = M_XMDH
 M_DA1 = DA5
 M_DA2 = DA6
 SELECT 4
 REPLACE XMDH2 WITH M_XMDH , XMMC2 WITH M_XMMC , DA21 WITH M_DA1 , DA22 WITH M_DA2
 N1 = N1 + N2
 M_JS21 = M_JS21 + 1
 ENDIF 
 ENDFOR 
 ELSE 
 N1 = INT(M_JS2 / (M_JS1 * 2 - 1))
 IF N1 < 0
 N1 = 1
 ENDIF 
 IF MOD(N1,2) = 0
 N1 = N1 - 1
 ENDIF 
 N2 = CEILING(M_JS2 / (M_JS1 * 2 - 1))
 N1 = CEILING((M_JS2 * 2 - 1) / (M_JS1 + 1))
 IF N1 < 0
 N1 = 1
 ENDIF 
 N2 = CEILING((M_JS2 * 2 - 1) / (M_JS1 + 1))
 FOR N = 1 TO M_JS2 * 2 - 1
 SELECT 4
 APPEND BLANK
 IF MOD(N,2) = 0
 REPLACE BZ2 WITH .T.
 ELSE 
 SELECT 2
 LOCATE FOR XH = M_XH
 FOR M = 1 TO M_JS21 - 1
 SKIP 
 ENDFOR 
 M_XMDH = XMDH
 SELECT 5
 LOCATE FOR XMDH = M_XMDH
 M_XMMC = XMMC
 SELECT 7
 LOCATE FOR XMDH = M_XMDH
 M_DA1 = DA5
 M_DA2 = DA6
 SELECT 4
 REPLACE XMDH2 WITH M_XMDH , XMMC2 WITH M_XMMC , DA21 WITH M_DA1 , DA22 WITH M_DA2
 M_JS21 = M_JS21 + 1
 ENDIF 
 IF N = N1 AND M_JS11 <= M_JS1
 SELECT 1
 LOCATE FOR XH = M_XH
 FOR M = 1 TO M_JS11 - 1
 SKIP 
 ENDFOR 
 M_XMDH = XMDH
 SELECT 6
 LOCATE FOR XMDH = M_XMDH
 M_XMMC = XMMC
 SELECT 8
 LOCATE FOR XMDH = M_XMDH
 M_DA1 = DA1
 M_DA2 = DA2
 SELECT 4
 REPLACE XMDH1 WITH M_XMDH , XMMC1 WITH M_XMMC , DA11 WITH M_DA1 , DA12 WITH M_DA2
 M_JS11 = M_JS11 + 1
 N1 = N1 + N2
 ENDIF 
 ENDFOR 
 ENDIF 
 ENDIF 
 SELECT 4
 APPEND BLANK
 REPLACE BZ1 WITH .T. , BZ2 WITH .T.
 SELECT 3
 SKIP 
 ENDDO 
*

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?