主题:求助:关于自动填充序列数值的问题。
各位大侠帮帮忙呀,小女子先谢过大家了。
有A、B两个dbf表。A表为公用表。
A表 B表
Number(字符型) 编码(字符型) No(字符型)
00001 K110
00002 K023
00003 J119
00004 J001
..... J003
71280 A029
..... E118
88001 F088
88002
.....
88924
97001
97002
.....
97298
B表中的编码是由一个字母+3个数字组成。
现在想将B表中的No.用A表中的number+1来替换。
其中 left(allt(编码),1)='J'的,用以88开头的Number的最大值+1来替换。本例中,A表中以88开头的number最大值为88924。需要将J119的No替换成88925,将J001的No替换成88926,将J003的No替换成88927,依次类推。。。。。
其中 left(allt(编码),1)='K'的,用以97开头的Number的最大值+1。
其余的left(allt(编码),1)既不等于'J'也不等于'K'的,用以88、97开头除外的00001至87999中最大值+1来替换。
想要的结果如下
A表 B表
Number(字符型) 编码(字符型) No(字符型)
00001 K110 97299
00002 K023 97300
00003 J119 88925
00004 J001 88926
..... J003 88927
71279 A029 71281
71280 E118 71282
88001 F088 71283
88002
.....
88924
97001
97002
.....
97298
如何用命令才能达到这样的目的呢?
如何用命令找出这几个88开头、97开头的最大值,以及非88、97开头的最大值呢?
注:B表是可以排序的,要填充的No没有顺序限制。
有A、B两个dbf表。A表为公用表。
A表 B表
Number(字符型) 编码(字符型) No(字符型)
00001 K110
00002 K023
00003 J119
00004 J001
..... J003
71280 A029
..... E118
88001 F088
88002
.....
88924
97001
97002
.....
97298
B表中的编码是由一个字母+3个数字组成。
现在想将B表中的No.用A表中的number+1来替换。
其中 left(allt(编码),1)='J'的,用以88开头的Number的最大值+1来替换。本例中,A表中以88开头的number最大值为88924。需要将J119的No替换成88925,将J001的No替换成88926,将J003的No替换成88927,依次类推。。。。。
其中 left(allt(编码),1)='K'的,用以97开头的Number的最大值+1。
其余的left(allt(编码),1)既不等于'J'也不等于'K'的,用以88、97开头除外的00001至87999中最大值+1来替换。
想要的结果如下
A表 B表
Number(字符型) 编码(字符型) No(字符型)
00001 K110 97299
00002 K023 97300
00003 J119 88925
00004 J001 88926
..... J003 88927
71279 A029 71281
71280 E118 71282
88001 F088 71283
88002
.....
88924
97001
97002
.....
97298
如何用命令才能达到这样的目的呢?
如何用命令找出这几个88开头、97开头的最大值,以及非88、97开头的最大值呢?
注:B表是可以排序的,要填充的No没有顺序限制。