| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 156 人关注过本帖
标题:再次求助:如何根据“开支明细”动态生成“开支统计表.dbf”
取消只看楼主 加入收藏
王咸美
Rank: 1
等 级:新手上路
帖 子:836
专家分:3
注 册:2018-1-4
结帖率:97.41%
收藏
 问题点数:20 回复次数:5 
再次求助:如何根据“开支明细”动态生成“开支统计表.dbf”
现有“开支明细表.dbf",我想根据其中的“支出明细”动态生成“开支统计表.dbf",开支统计表中的字段名由“开支明细表.dbf的“开支明细”动态生成,请各位高手不吝赐教,万分感谢!(纯属个人爱好,不喜勿喷,全当路过)
开支明细表.rar (59.62 KB)

图片附件: 游客没有浏览图片的权限,请 登录注册

“开支统计表.dbf"样式如下:
图片附件: 游客没有浏览图片的权限,请 登录注册


[此贴子已经被作者于2025-10-29 12:41编辑过]

搜索更多相关主题的帖子: 不吝 样式 动态生成 dbf 统计 
昨天 12:38
王咸美
Rank: 1
等 级:新手上路
帖 子:836
专家分:3
注 册:2018-1-4
收藏
得分:0 
谢谢,说的有道理。
昨天 17:26
王咸美
Rank: 1
等 级:新手上路
帖 子:836
专家分:3
注 册:2018-1-4
收藏
得分:0 
如果“开支明细”中内容变为“巧克力9果汁6果冻6.5车费20”,去掉标志“元”,代码应如何写,请高手赐教,谢谢!!!

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

昨晚 21:50
王咸美
Rank: 1
等 级:新手上路
帖 子:836
专家分:3
注 册:2018-1-4
收藏
得分:0 
谢谢!如何在代码中加上表文件“开支明细表.dbf"? 盼指点!
昨晚 22:59
王咸美
Rank: 1
等 级:新手上路
帖 子:836
专家分:3
注 册:2018-1-4
收藏
得分:0 
谢谢!我想用上表文件“开支明细表.dbf",动态生成如附件所示的“开支统计表.dbf",不知如何操作,请指点!
7 小时前
王咸美
Rank: 1
等 级:新手上路
帖 子:836
专家分:3
注 册:2018-1-4
收藏
得分:0 
下列程序不知问题出自哪里,现贴上代码,请高手赐教,谢谢!!!
开支明细表2.rar (534 Bytes)

图片附件: 游客没有浏览图片的权限,请 登录注册

待修改代码如下:
CLOSE DATABASES
CLEAR ALL
PUBLIC  cPath
cPath=ADDBS(JUSTPATH(SYS(16)))
SET DEFAULT TO (cPath)

DECLARE long sscanf IN msvcrt long,string,single@,long@
DECLARE long strcpy IN msvcrt string@,string
DECLARE long strcpy IN msvcrt as strcpy_ptr long,string

cBuffer = REPLICATE(0h00,256)
pBuffer = strcpy(@cBuffer, "")


LOCAL a as Single, n as Long, p as Long, ph as Long
a = 0.00
n = 0
CREATE CURSOR tt (姓名 C(10),项目 V(10),金额 N(6,2))
USE 开支明细表.dbf ALIAS tb IN 0
SELECT tb
SCAN
   FOR i=1 TO ALINES(arr,tb.支出明细,5,"")
      p=strcpy_ptr(@pBuffer,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)
           p  = p+n
           ph = p
           
        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 开支统计表


2 小时前
快速回复:再次求助:如何根据“开支明细”动态生成“开支统计表.dbf”
数据加载中...
 
   



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

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