回 帖 发 新 帖 刷新版面

主题:一个简单的自动编号问题!请高手指教。

想在表单中 “txt会员编号”中实现自动编号格式如: HY000001这样。应该怎么做?
我在表单的init加入一下代码
SELECT  readers
    
      
if EMPTY(会员编号) THEN 
          thisform.txt会员编号.value='HY000001'
          

      ELSE
          calculate max(会员编号) to Czdph     &&在数据表中查找出序号最大的记录
            Nzdph=val(right(Czdph,6))     
          Zdph='HY'+padl(alltrim(str(Nzdph+1)),6,'0')
          thisform.txt会员编号.value='Zdph'
        
        endif
      
thisform.txt条形码.value=''
thisform.txt条形码.value=''
thisform.txt会员级别.value=''
thisform.txt姓名.value=''
thisform.txt出生日期.value={}
thisform.txt性别.value=''
thisform.txt有效证件.value=''
thisform.txt证件号码.value=''
thisform.txt家庭住址.value=''
thisform.txt电话.value=''
thisform.edt备注.value=''

运行发现能找出原来数据表中的最大编号。但他不是写在txt会员编号”中,而是写在vfp屏幕中,这是怎么回事,是不是我写错了,请高手指教。

回复列表 (共3个回复)

沙发

很玄呢,等着高手解答,我是来学习的

板凳

错误多多,基本控件不会使用,绑定表的字段一定要替换数据源的值,否则这个最大值如何能找到!
if EMPTY(会员编号) THEN 
   thisform.txt会员编号.value='HY000001'
    APPEND BLANK
    REPLACE 会员编号 WITH 'HY000001'
ELSE
  calculate max(会员编号) to Czdph     &&在数据表中查找出序号最大的记录
  Nzdph=val(right(Czdph,6))     
  Zdph='HY'+padl(alltrim(str(Nzdph+1)),6,'0')
  APPEND BLANK
  REPLACE 会员编号 WITH Zdph
  thisform.txt会员编号.value='&Zdph'
  thisform.refresh
ENDIF

3 楼

WITH thisform
CALCULATE MAX(VAL(RIGHT(会员编号,6))) TO Czdph     &&在数据表中查找出序号最大的记录
.txt会员编号.value='HY'+STRTRAN(STR(Czdph+1,6)," ","0")
INSERT INTO 你的表别名(会员编号) VALUES (.txt会员编号.value)

STORE "" TO .txt条形码.value,.txt条形码.value,txt会员级别.value;
           ,.txt姓名.value,.txt性别.value,.txt有效证件.value;
           ,.txt证件号码.value,.txt家庭住址.value,.txt电话.value,.edt备注.value
.txt出生日期.value={}
ENDWITH

我来回复

您尚未登录,请登录后再回复。点此登录或注册