gensn.prg
来自「BAS--图书库存 Visual FoxPro 6.0」· PRG 代码 · 共 39 行
PRG
39 行
*——生成编号编号
* 编号形式为:YYMMDD000N”
* 参数:sDBName为表的名称
* sFieldName为字段的名称
FUNCTION GenSn(sDBName, sFieldName)
*——获取两位数表示的年
SET CENTURY ON
sYear = ALLTRIM(STR(YEAR(DATE())))
sYear = SUBSTR(sYear, 3)
*——获取两位数表示的月
sMonth = ALLTRIM(STR(MONTH(DATE())))
IF LEN(sMonth) = 1
sMonth = "0" + sMonth
ENDIF
*——获取两位数表示的日
sDay = ALLTRIM(STR(DAY(DATE())))
IF LEN(sDay) = 1
sDay = "0" + sDay
ENDIF
spPart = sYear + sMonth + sDay
*——计算“000N”
IF .NOT. USED(sDBName)
USE Data/&sDBName
ENDIF
SELECT &sDBName
SET FILTER TO SUBSTR(&sFieldName, 1,6) = spPart
GO BOTTOM
IF EOF() .AND. BOF() .OR. RECCOUNT() = 0
sbPart = "0000"
ELSE
sbPart = SUBSTR(&sFieldName, 7)
ENDIF
SET FILTER TO
sbPart = AutoInc(sbPart)
*——组合并生成编号
newPNo = spPart + sbPart
*——返回编号
RETURN newPNo
ENDFUNC
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?