我在编写一个"增加"控件的小程序时,发现如下一个怪怪的小问题:由于数据表mckb以前输入的编号是1,2,3...我仍旧想沿用这种编号顺序,于是编了程序:
SELECT mckb &&选择工作区
OldRecord=RECNO()
GO BOTTOM &&到末记录
LOCAL BH &&声明本地变量来保存编号
BH=alltrim(mckb.number)
APPEND BLANK &&添加新的记录
BH=VAL(BH)+1 &&连结新的字符串,记录编号自动加1
THISFORM.txtnumber.value=BH
thisform.formmode="cadd"
thisform.modemody()
THISFORM.REFRESH()
但是,运行时总是出错.而如果采用前面加上"BH00.."的形式的程序的话,就没有什么错误了:
SELECT mckb &&选择工作区
OldRecord=RECNO()
GO BOTTOM &&到末记录
LOCAL BH &&声明本地变量来保存编号
BH=alltrim(mckb.number)
APPEND BLANK &&添加新的记录
BH=VAL(BH)+1 &&连结新的字符串,记录编号自动加1
IF BH>999
BH=STR(BH,4)
BH="BH"+BH
ELSE
IF BH>99
BH=STR(BH,3)
BH="BH0"+BH
ELSE
IF BH>9
BH=STR(BH,2)
BH="BH00"+BH
ELSE
BH=STR(BH,1)
BH="BH000"+BH
ENDIF
ENDIF
ENDIF
THISFORM.txtnumber.value=BH
thisform.formmode="cadd"
thisform.modemody()
THISFORM.REFRESH()
各位仁兄,若感兴趣的话,可以考虑考虑啊!