自动生成编号:编号的生成问题



简述:以段聊天记录来解释实际生活中编号定义思路方法以及误区
 

 

问题:

我跟你说说我这边情况吧好像工号03-0756-004-1JF表示:03表示03年生产0756是合同号004表示对方单位编号1表示合同第几项JF是表示车间你说这样工号会不会很烦?
 



回答:

我只能说你在设计数据结构时候就已经
很多员认为 “编号”是个字段在计算机中这确是正确但是在计算机中编号是没有含义没有语法、没有组合、没有任何意义仅表示记录标识而实际生产中编号往往包含很多意义(除非你使用数据库查询系统来管理随机编号)因此就像你说编号每个部分都有含义所以应该以每个部分为最小单位来建立数据库结构简单就是 生产日期、合同号、对方单位编号、车间分几个字段存储这也可以说是“原子性”扩展其实 SQL 不仅仅可以查询数据还可以组织数据比如
select 日期 & 合同号 & 单位号 & 车间 as 编号,全名 from 产品表

 



问题:


但很惨是:录入员已经习惯很连续地录入03-0456-002-4JF这样工号了叫他们分开来录入恐怕很麻烦
 



回答:

你可以在保存按钮上写点代码切分数据即使连续窗体也可以在 BEFOREUPDATE事件里面写代码代码可以类似:
Sub SplitString
    Dim strA As String
    strA = Split(Me.TextBoxA, \"-\")
    Dim i As Integer
    For i = 0 To UBound(strA)
        Debug.Pr strA(i)
        Me(\"TextBox\" & i).value=strA(i)
    Next
End Sub
Tags:  自动生成编号

延伸阅读

最新评论

发表评论