1. 论坛系统升级为Xenforo,欢迎大家测试!
    排除公告

求救~~求救~~

本帖由 小狼2006-06-05 发布。版面名称:新人报道

  1. 小狼

    小狼 New Member

    注册:
    2006-03-15
    帖子:
    163
    赞:
    1
    一个小的自动编号程序
    按这个方式排列
    q000000s
    q000001s
    q000002s
    请大家帮忙看能写出来吗?
    已经耗了我2天的时间了。
    希望这里能给我带来点灵感
    小狼在这里先谢谢各位了
     
  2. 小叶

    小叶 New Member

    注册:
    2005-09-04
    帖子:
    17,941
    赞:
    33
    不太明白
     
  3. 小狼

    小狼 New Member

    注册:
    2006-03-15
    帖子:
    163
    赞:
    1
    就是一个自动编号的程序啊~
    编号第一个值是q000000s
    第二个编号是q000001s
    第三个值是q000002s
    就这样一直循环下去
     
  4. 小叶

    小叶 New Member

    注册:
    2005-09-04
    帖子:
    17,941
    赞:
    33
    明白了。数据库还是啥格式的,至少你也给个提示吧。
     
  5. 小狼

    小狼 New Member

    注册:
    2006-03-15
    帖子:
    163
    赞:
    1
    数据库~
     
  6. 小狼

    小狼 New Member

    注册:
    2006-03-15
    帖子:
    163
    赞:
    1
    叶子,我把我写的程序给你看看。
    帮我检查一遍。

    Function SNNUM(tname, first_char, brief_city)
    Dim rs, sql, temp_num, insect_num, num, cn, num1,
    Set rs = myServer.CreateObject("ADODB.Recordset")
    sql = "select * from "&tname&" where sn like '%"&brief_city&"%' and sn like '%"&first_char&"%' order by ssdate DESC;" '查找同类编号
    rs.Open sql, cn, 3, 3
    If rs.EOF Then
    num1 = brief_city &"000000"& first_char '没有同类编号则从000000开始
    SNNUM = num1 '返回编号
    Else
    temp_num = mid(rs("sn"), 3,6) + 1 '有的话取得数值部分并加1
    if Len(temp_num)=1 then
    insect_num = "00000" &temp_num '给整数前补0
    else if Len(temp_num)=2 then
    insect_num = "0000"&temp_num
    else if Len(temp_num)=3 then
    insect_num = "000"&temp_num
    else if Len(temp_num)=4 then
    insect_num = "00"&temp_num
    else if Len(temp_num)=5 then
    insect_num = "0"&temp_num
    else if Len(temp_num)=6 then
    insect_num = temp_num
    end if
    Next
    SNNUM = brief_city&insect_num&first_char '返回编号
    End If
    End Function
     
  7. 小狼

    小狼 New Member

    注册:
    2006-03-15
    帖子:
    163
    赞:
    1
    把next去掉

    ~~
    我想知道我那个程序理论上能通过吗
     
  8. Tameway

    Tameway New Member

    注册:
    2005-09-06
    帖子:
    1,286
    赞:
    8
    设两个字段,一个是默认的自动编号主键,字段名为system_id,即 1、2、3 ......

    另一个是你的这个编号,字段名为custom_id

    于是这样考虑 custem_id = "q" & system_id & "s"

    如果要补零,可以另写一个函数
     
  9. Dream

    Dream New Member

    注册:
    2006-05-26
    帖子:
    23
    赞:
    0
    你所需要的编号,看上去也是连续的,完全可以按照通常情况那样使用自动编号字段,在需要使用的地方,可以根据对应关系转换为你需要的格式。

    例如

    1 - 0 - 000000 - q000000s
    2 - 1 - 000001 - q000001s

    这样对应转换应该可以吧?