回 帖 发 新 帖 刷新版面

主题:如何统计期未结余金额

表结构为:日期、支出、收入,现要用select命令生成:日期、期初金额、支出、收入、期未结余的形式

如:    日期         支出        收入          
     20110930       5000.00     6000.00
     20111001       200.00      100.00
     20111002       2000.00     1500.00


 按20111001至20111031范围统计后结果为:

      日期    期初金额      支出       收入      期未结余  
    20111001   1000.00     200.00     100.00     900.00         期初金额是20110930以前的 收支数
    20111002               2000.00    1500.00    400.00

回复列表 (共4个回复)

沙发

这个不会弄啊,只怪当年没好好学习下VF

















signature----------------------------------------------------------
--I want to bring out the secrets of nature and apply them for the happiness of man[[url=http://www.kobe4sale.com/nike-air-zoom-vapor-vi-tour-c-23.html]nike air zoom vapor vi tour[/url][url=http://www.kobe4sale.com/nike-air-max-tailwind-4-c-25.html]nike air max tailwind 4[/url][url=http://www.kobe4sale.com/air-jordan-alpha-1-c-14.html]air jordan alpha 1[/url][url=http://www.kobe4sale.com/nike-zoom-kobe-vi-c-2.html]nike zoom kobe vi[/url]

板凳


不是一句两句说的清楚。
加QQ群:208460253 找VFP

3 楼

use 表1 IN 0 ALIAS A
USE 表2 IN 0 ALIAS B EXCLUSIVE 
SELECT b
ZAP 
SELECT a 
s=0
DO WHILE !EOF()
   s=s+收入-支出
   SKIP
   sy=收入
   zc=支出
   SELECT b 
   APPEND BLANK 
   IF SUBSTR(日期,8,1)='1'  &&日期为当月1日  
      replace 期初金额 WITH s,收入 WITH sr,支出 WITH zc,期末结余 WITH s+sr-zc
   ELSE
      replace 收入 WITH sr,支出 WITH zc,期末结余 WITH s+sr-zc    
   ENDIF
select a
ENDDO
   

4 楼

[quote]use 表1 IN 0 ALIAS A
USE 表2 IN 0 ALIAS B EXCLUSIVE 
SELECT b
ZAP 
SELECT a 
s=0
DO WHILE !EOF()
   s=s+收入-支出
   SKIP
   sy=收入
   zc=支出
   SELECT b 
   APPEND BLANK 
   IF SUBSTR(日期,8,1)='1'  &&日期为当月1日  
      replace 期初金额 WITH s,收入 WITH sr,支出 WITH zc,期末结余 WITH s+sr-zc
   ELSE
      replace 收入 WITH sr,支出 WITH zc,期末结余 WITH s+sr-zc    
   ENDIF
select a
ENDDO
   [/quote]
-------------------------------------------------------------------------
[color=800000][size=6]浅析3楼的代码[/size][/color]

DO WHILE !EOF()
   s=s+收入-支出
   [color=008000]SKIP[/color]
我做了一个试验,正常情况下,DO WHILE !EOF() 循环开始,记录指针应该指向首记录,因此,前面的SKIP用在此处不太合适,应该换个位置。

[color=008000]SUBSTR(日期,8,1)='1'  &&日期为当月1日[/color]
日期最后1位数字是1,一定是当月的1日吗,日期后两位数字为11,21,31不行吗
**************************************************************************
本人在此声明:分析代码并不是诋毁三楼的朋友,而是就事论事,对代码分析的过程,也是提高一个人纠错能力的过程,只有不断的分析和学习,才能不断提高一个人编写代码的水平。为此给三楼朋友带来的诸多不便,本人在此表示诚恳谦意。

我来回复

您尚未登录,请登录后再回复。点此登录或注册