| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 947 人关注过本帖
标题:如何由 开支明细帐.dbf 动态生成 开支统计表.dbf
取消只看楼主 加入收藏
王咸美
Rank: 1
等 级:新手上路
帖 子:890
专家分:3
注 册:2018-1-4
结帖率:97.51%
收藏
已结贴  问题点数:20 回复次数:20 
如何由 开支明细帐.dbf 动态生成 开支统计表.dbf
现有 开支明细帐.dbf 我想动态生成 开支统计表.dbf
要求:
1、开支统计表中除“姓名”、“合计”字段外,其它字段由 开支明细帐.dbf中“支出明细”动态生成,具体字段数量不固定;
2、“合计”字段要放在最右边;
3、最后统计毎个学生支出金额,写入“合计”中。
【由于本人是新手,对vfp纯属个人爱好,不喜勿喷!】
请各位高手不吝赐教,万分感谢!!!
开支明细帐.rar (563 Bytes)

原始表:开支明细帐.dbf
图片附件: 游客没有浏览图片的权限,请 登录注册

结果表:开支统计表.dbf
图片附件: 游客没有浏览图片的权限,请 登录注册


[此贴子已经被作者于2025-10-20 16:00编辑过]

搜索更多相关主题的帖子: 写入 dbf 统计 字段 动态生成 
2025-10-20 15:58
王咸美
Rank: 1
等 级:新手上路
帖 子:890
专家分:3
注 册:2018-1-4
收藏
得分:0 
数据表已作修改,不知是否规范
开支明细帐.rar (569 Bytes)

图片附件: 游客没有浏览图片的权限,请 登录注册
2025-10-21 10:20
王咸美
Rank: 1
等 级:新手上路
帖 子:890
专家分:3
注 册:2018-1-4
收藏
得分:0 
谢谢!!!
2025-10-21 10:39
王咸美
Rank: 1
等 级:新手上路
帖 子:890
专家分:3
注 册:2018-1-4
收藏
得分:0 
如何确保“合计”字段放在所有字段的最右边,请指点!
2025-10-21 11:27
王咸美
Rank: 1
等 级:新手上路
帖 子:890
专家分:3
注 册:2018-1-4
收藏
得分:0 
谢谢!我想将生成的“开支统计表.dbf”中的“合计”放到表的最后(最右边)显示,不知可行?另外,可否去掉小数部分,请赐教!

[此贴子已经被作者于2025-10-21 16:30编辑过]

2025-10-21 16:16
王咸美
Rank: 1
等 级:新手上路
帖 子:890
专家分:3
注 册:2018-1-4
收藏
得分:0 
谢谢各位大佬的热心指导!!!
奇怪的是我在电脑上运行后“费用汇总统计”只有“姓名”和“合计”,并且都是空的,是软件的问题,还是其他原因?
图片附件: 游客没有浏览图片的权限,请 登录注册
2025-10-21 20:37
王咸美
Rank: 1
等 级:新手上路
帖 子:890
专家分:3
注 册:2018-1-4
收藏
得分:0 
同样是空的
2025-10-21 21:06
王咸美
Rank: 1
等 级:新手上路
帖 子:890
专家分:3
注 册:2018-1-4
收藏
得分:0 
DECLARE long sscanf IN msvcr71 long, string, single@, long@
DECLARE long strcpy IN msvcr71 string@, string
buffer = REPLICATE(0h00,256)
a = 0.00
n = 0
CREATE CURSOR tt (姓名 c(10), 项目 v(10), 金额 n(6,2))
USE E:\temp9\开支明细帐.dbf ALIAS tb IN 0
SELECT tb
SCAN
    FOR i=1 TO ALINES(arr,tb.支出明细,5,",")
        p  = strcpy(@buffer, arr[i])
        ph = p
        DO WHILE SYS(2600,p,1) != 0h00
            IF sscanf(p,"%f%n",@a,@n) == 1
                INSERT INTO tt VALUES (tb.姓名, SYS(2600,ph,p-ph), a)
                EXIT
            ELSE
                p = p+1
            ENDIF
        ENDDO
    ENDFOR
ENDSCAN
cmd = "CREATE TABLE 开支统计表 (姓名 c(10)"
SELECT DISTINCT 项目 FROM tt INTO CURSOR tmp
SCAN
    cmd = cmd + "," + 项目 + " n(6,2)"
ENDSCAN
cmd = cmd + ", 合计 n(6,2))"
EXECSCRIPT(cmd)
SELECT DISTINCT 姓名 FROM tt INTO CURSOR tmp
SELECT 开支统计表
APPEND FROM DBF("tmp")
INDEX on 姓名 TAG 姓名
SELECT tt
SET RELATION TO 姓名 INTO "开支统计表"
SCAN
    REPLACE (tt.项目) WITH tt.金额, 合计 WITH 合计 + tt.金额 IN "开支统计表"
ENDSCAN
SELECT * FROM 开支统计表
2025-10-21 21:45
王咸美
Rank: 1
等 级:新手上路
帖 子:890
专家分:3
注 册:2018-1-4
收藏
得分:0 
明天发截图
2025-10-21 22:21
王咸美
Rank: 1
等 级:新手上路
帖 子:890
专家分:3
注 册:2018-1-4
收藏
得分:0 
生成文件名称为“开支统计表.dbf",打开后连标题都变了
图片附件: 游客没有浏览图片的权限,请 登录注册
2025-10-21 22:32
快速回复:如何由 开支明细帐.dbf 动态生成 开支统计表.dbf
数据加载中...
 
   



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

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020865 second(s), 12 queries.
Copyright©2004-2025, BC-CN.NET, All Rights Reserved