回 帖 发 新 帖 刷新版面

主题:有关添加"序号"问题?

各位师傅你们好,我有一个问题想请教你们。我想通过一个表单中的一个按钮来打开一个表,在表的尾部添加另一个表中的记录,表中的"序号"按原表的最大"序号"值继续自动往下排,在我运行以下语句时,在添加多条记录时只能添加一个"序号"值,而且是在最后一条记录上,不知为什么?请师傅们给予指点,谢谢!语句如下:

IF !EMPTY(序号)
append from ? 
jls=RECCOUNT()
FOR 姓名 = 1 TO jls
SELECT MAX(序号) FROM 报名注册 INTO ARRA A
CEND=VAL(SUBSTR(A(1),1))+1
XH=ALLT(PADL(ALLT(STR(CEND,4)),4,'0'))
repl 序号 with XH 
ENDFOR
endif


回复列表 (共4个回复)

沙发

没看明白,姓名是从1往下排吗?
这样改改,是不是清楚些:
SELECT 表A
myMaxn = 0  && 初始化最大值
SCAN 
   myMaxn = MAX(myMaxn,VAL(序号))
ENDSCAN

N=RECCOUNT()
APPEND FROM 表B
GO n+1
FOR i=n+1 to RECCOUNT()
    GO i
    myMaxn=myMaxn+1
    REPLACE 序号 with ALLTRIM(STR(myMaxn))
NEXT

板凳


是按母表(报名注册)中的"序号"列的最大号接着往下排.

3 楼

CALCULATE MAX(VAL(序号)) to nval
nRecc=RECCOUNT()
APPEND FROM ? 
REPLACE REST 序号 with STRTRAN(STR(nval+RECNO()-nRecn,4)," ","0") for RECNO()>nRecc

4 楼

被添加的表不要使用索引。

我来回复

您尚未登录,请登录后再回复。点此登录或注册