注册 登录
编程论坛 VFP论坛

如何由 开支明细帐.dbf 动态生成 开支统计表.dbf

王咸美 发布于 2025-10-20 15:58, 849 次点击
现有 开支明细帐.dbf 我想动态生成 开支统计表.dbf
要求:
1、开支统计表中除“姓名”、“合计”字段外,其它字段由 开支明细帐.dbf中“支出明细”动态生成,具体字段数量不固定;
2、“合计”字段要放在最右边;
3、最后统计毎个学生支出金额,写入“合计”中。
【由于本人是新手,对vfp纯属个人爱好,不喜勿喷!】
请各位高手不吝赐教,万分感谢!!!
只有本站会员才能查看附件,请 登录

原始表:开支明细帐.dbf
只有本站会员才能查看附件,请 登录

结果表:开支统计表.dbf
只有本站会员才能查看附件,请 登录


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

53 回复
#52
吹水佬2025-10-23 21:17
以下是引用csyx在2025-10-23 20:13:46的发言:

此法处理中文虽简单,却不安全,需视使用场景而定
试试:? ALines(arr, "郑琯芸,祝琣远", ",",",")

单字节字符串函数处理双字节字符串就有可能存在这类风险。
如:
? AT(",", "郑琯芸")   


#53
sam_jiang2025-10-25 09:47
我去,还有例外情况?
#54
sam_jiang2025-10-26 22:41
中文逗号“,”是chr(163)+chr(172);"郑琯"是chr(214)+chr(163)+chr(172)+chr(103);

看来alines()遍历字符串是逐个字符的,不是按双字节遍历的。。。

当然用 ? AT(",", "郑琯芸")  是不对的,应该用?at_c(",","郑琯芸") &&结果为零。

看来需要自定义一个alines_c 函数,以便完成对中文字符的搜索! 或者在使用alines之前,先对字符串进行预处理,把中文","改成英文逗号"," ?CHRTRANC(cstr,",",",") &&在变量cstr中用英文逗号替换所有中文逗号


12