| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 321 人关注过本帖
标题:再次求助:如何根据“开支明细”动态生成“开支统计表.dbf”
只看楼主 加入收藏
wengjl
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:109
帖 子:2331
专家分:4205
注 册:2007-4-27
收藏
得分:0 
以下是引用吹水佬在2025-10-30 15:51:05的发言:不用API函数可能容易理解点SET DEFAULT TO (ADDBS(JUSTPATH(SYS(16))))CREATE CURSOR tt (姓名 C(10),项目 V(10),金额 N(6,2))USE 开支明细表2 ALIAS tb IN 0SELECT tbSCAN    getExpenditureRecord(ALLTRIM(tb.支出明细))ENDSCANcmd="CREATE TABLE 开支统计表 (姓名 C(10)"SELECT DISTINCT 项目 FROM tt INTO CURSOR tmpSCAN  cmd=cmd+","+项目+ " n(5,2)"ENDSCANcmd=cmd + ",合计  n(6,2))"EXECSCRIPT(cmd)SELECT distinct 姓名 FROM tt INTO CURSOR tmpSELECT 开支统计表APPEND FROM  DBF("tmp")INDEX on  姓名 TAG  姓名SELECT ttSET RELATION TO 姓名 INTO "开支统计表"SCAN  replace (tt.项目) WITH tt.金额, 合计 WITH 合计+tt.金额 IN "开支统计表"ENDSCANSELECT * FROM 开支统计表CLOSE TABLES ALL CLEAR ALL RETURNFUNCTION getExpenditureRecord(er)    s = ""    i = 1    len = LEN(er)    DO WHILE i <= len        ch = SUBSTR(er,i,1)        IF ISDIGIT(ch) OR ch=="."            a = VAL(SUBSTR(er,i))            INSERT INTO tt VALUES (tb.姓名, s, a)            s = ""            n = i            DO WHILE ISDIGIT(ch) OR ch=="."                n = n+1                ch = SUBSTR(er,n,1)            ENDDO            i = n        ELSE            s = s+ch            i = i+1        ENDIF    ENDDOENDFUNC


吹版好,您在过程中用了 ISDIGIT(ch) OR ch=="." 判断是否是数字或小数点。 如果要分离的是汉字与字母的混合字符串,那么判断 字母 的函数是什么?麻烦告知一下,谢谢!

只求每天有一丁点儿的进步就可以了
前天 08:23
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10821
专家分:43424
注 册:2014-5-20
收藏
得分:0 
回复 21楼 wengjl
ISLEADBYTE()
ISALPHA()
ISLOWER()
ISUPPER()
前天 13:55
wengjl
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:109
帖 子:2331
专家分:4205
注 册:2007-4-27
收藏
得分:0 
以下是引用吹水佬在2025-11-2 13:55:21的发言:

ISLEADBYTE()
ISALPHA()
ISLOWER()
ISUPPER()


感谢吹版的热心回复,谢谢!

只求每天有一丁点儿的进步就可以了
前天 17:07
快速回复:再次求助:如何根据“开支明细”动态生成“开支统计表.dbf”
数据加载中...
 
   



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

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