套级问题,如何用程序实现?
套级问题,如何用程序实现?
标准1标准2标准3标准4标准5标准6
会计师 800070006500550049004500
助理会计师 600054004800420036003000
业务员 400035003000250020001500
如业务员现在新标准2300如何对准为业务员标准4(比旧标准高一些)
如助理会计师现在新标准5000如何对准为助理会计师标准2(比旧标准高一些)
如会计师现在新标准4600如何对准为会计师标准5(比旧标准高一些)
[解决办法]
下面代码不一定是最优的,仅提供一种编程思路
CREATE CURSOR BZ (NR C(10),BZ1 N(4),BZ2 N(4),BZ3 N(4),BZ4 N(4),BZ5 N(4),BZ6 N(4))
INSERT INTO BZ VALUES ([会计师],8000,7000,6500,5500,4900,4500)
INSERT INTO BZ VALUES ([助理会计师],6000,5400,4800,4200,3600,3000)
INSERT INTO BZ VALUES ([业务员],4000,3500,3000,2500,2000,1500)
*以业务员新标准工资 2300 为例
XM=[业务员]
GZ=2300
GZ1=0 && 保存查询到的低于GZ的旧工资标准(如标准5)
GZ2=0 && 保存查询到的高于GZ的旧工资标准(如标准4)
ZDM=[] && 保存查询到的字段名
ZDM1=[]
LOCATE FOR ALLTRIM(NR)==XM
IF FOUND()
FOR I=2 TO FCOUNT()
IF EVALUATE(FIELD(I))<GZ
ZDM=FIELD(I)
ZDM1=FIELD(I-1)
GZ1=EVALUATE(FIELD(I))
GZ2=EVALUATE(FIELD(I-1))
MESSAGEBOX(XM+[新工资档次:]+ZDM1+[,新工资标准:]+TRANSFORM(GZ2)+[元],64,[系统信息])
EXIT
ENDIF
ENDFOR
ELSE
MESSAGEBOX([未查询到]+XM+[的旧工资标准],64,[系统信息])
ENDIF