VFP中如何统计表中记录数

我做的一个表单上图,我的目的是在点击添加的时候,客户编码能先判断表中有多少条记录,根据记录的条数加1,自动就显示在客户编码的text1上这样的该怎么做呢,请各位前辈帮帮忙,谢谢

直接用 recc()这个函数不就行了么?

以下是手册内容:

返回当前或指定表中的记录数目。
RECCOUNT([nWorkArea | cTableAlias])

返回值

数值型

参数

nWorkArea
指定表所在的工作区编号。
如果在指定的工作区中没有打开的表,RECCOUNT( ) 返回 0。

cTableAlias
指定表别名。

备注

SET DELETED 和 FILTER 命令并不影响 reccount( ) 函数的返回值。

不带可选参数 nWorkArea 或 cTableAlias 的 reccount( ) 函数返回当前所选工作区中表的记录数目。

示例
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-12-11
用reccound()函数统计记录总数,在此基础上加上然后用text1显示就行了
给“添加”按钮设置click事件代码:
thisform.text1.value=reccount()+1追问

select 客户编码,reccount(客户编码) as 客户编码 from 基本信息 GROUP BY 客户编码 order by 客户编码 DESC
IF reccount()+1
APPEND BLANK IN 基本信息
ENDIF
THISFORM.Refresh
这样的代码错了吗?为啥不能用呢,为啥第一句总是显示找不到别名

追答

看你文件名是否正确,文件是否在当前目录下,你可以指定路径试一下

追问

都是正确的,真的是报错找不到别名

追答

你把那个基本信息表再复制一个,改个英文名字再试试
刚没仔细看你的语句,在你的语句中查询结果显示的是两个“客户编号”列呢
再有,你先在命令窗口执行一下那个命令,看看是不是还有提示
还有一个可能的原因是那个APPEND BLANK IN 基本信息,其实你没有必要写 IN 基本信息,你提示找不到别名是这儿出问题了

追问

我把in去掉就显示语句错误,真心不知道这个怎么添加了,怎么统计客户编码到底有多少条,到底怎么自动加1

追答

没明白你的意思,你是不是在添加里输入一个编号,然后判断是否存在,如果存在不输入,如果不存在就自动变为原有编号+1?你把IN 基本信息都去掉试试

追问

不是,就是我每次点击:添加按钮,编号那个text就自动的判断在这之前有多少条信息,它就自动加1显示在text上了,如果前面有6条信息,我点击添加按钮,编号这个text就自动的显示7,是这样的

追答

在你的表中编号字段允许有重复值吗?如果不允许只是相当于一个记录号的功能就没必要用SQL语句来完成,直接用VFP命令就可以了
use 基本信息
append blank
thisform.text1.value=reccount() 注:也可以将此语句改为update 基本信息 set 客户编码=reccount() where 客户编码=(select count(*) from 基本信息)
thisform.refresh

追问

你好,它显示不能识别text1,其实我的编号就是为了区分相同字段用的,是不能重复的,就像自然数那样,但是还是不行,而且还显示客户编码不唯一,但是我里面都没有信息的,这个是什么原因呢

本回答被提问者采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网