📄 gensn.prg
字号:
*——生成编号编号
* 编号形式为: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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -