我做的一个表单上图,我的目的是在点击添加的时候,客户编码能先判断表中有多少条记录,根据记录的条数加1,自动就显示在客户编码的text1上这样的该怎么做呢,请各位前辈帮帮忙,谢谢
以下是手册内容:
返回当前或指定表中的记录数目。
RECCOUNT([nWorkArea | cTableAlias])
返回值
数值型
参数
nWorkArea
指定表所在的工作区编号。
如果在指定的工作区中没有打开的表,RECCOUNT( ) 返回 0。
cTableAlias
指定表别名。
备注
SET DELETED 和 FILTER 命令并不影响 reccount( ) 函数的返回值。
不带可选参数 nWorkArea 或 cTableAlias 的 reccount( ) 函数返回当前所选工作区中表的记录数目。
示例
给“添加”按钮设置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,其实我的编号就是为了区分相同字段用的,是不能重复的,就像自然数那样,但是还是不行,而且还显示客户编码不唯一,但是我里面都没有信息的,这个是什么原因呢
本回答被提问者采纳