asp 自动编号

来源:百度知道 编辑:UC知道 时间:2024/09/26 05:17:09
我的合同编号是:CQHM-CQ200910-050202-0001 其中CQHM是固定的,CQ200910是根据年月生成,050202是产品规格(还有050404,100202,100404等,根据下拉菜单选择自动显示),0001是流水号,我现在需要对此合同编号进行自动编号,选择050202型号,编号CQHM-CQ200910-050202-0001的流水号加1,如果选择050404型号,编号CQHM-CQ200910-050404-0001的流水号加1,其他型号也一样,请问该如何实现?

每天的合同流水号都是从0001开始的,要实现你说的目标,在打开该填写页面之前,就得对数据库进行一次搜索并对数据进行一次处理。
先是搜索出所有CQHM-CQ200910(这个自动生成的,CQHM-CQ+年+月,让其获得日期值好实现),用SQL里面的group命令,可以将搜索结果按产品型号分类,在每个类别下面获得最大的那个流水号(其实就是该类别下结果的个数n)那么最大的流水号就是000(n+1),选择了某个分类之后,将这个值做为流水号就OK了。
例如某个类别下个数为0则,流水号就是0001

你就直接关了这个问题吧
专业人士没有
你还是去excel论坛看看吧

这很难实现么?不就是自动生成字符串嘛。
把数据库设计好是关键。例如你可以设计单独的三个字段,为“日期”“规格”“流水号”,而“合同编号”,则只是用这三个字段计算合成而已。多设三个字段不是多余,而恰恰是高效,这会为以后你的查询带来极大的方便。

太强了,看不明白。怪不得分这么高

不难。

固定的就是"CQHM-CQ" & year(date()) & month(date()) & "-"
时间函数如果有不符合你的要求的,转化一下就可以了,或者加个判断语句。
(或者用JS实现,原理相同)

产品规格最好先将所有规格存入数据库,下拉菜单从数据库里面读取就可以了,这个没什么可说的。假设下拉菜单id为specification

流水号先读数据库中该规格的总数,用select count(*) from table where column like %200910-050202-%,然后取总数+1,比如数据库中已经有10条记录了,那新的就应该是0011。

最后用JS整合一下:
"CQHM-CQ"+today.getFullYear()+(today.getMonth()+1)-document.getElementByID("specification")-(count+1)

最后存入数据库,或者不用JS,部