我用msflexgrid做入库 如何给每个产品添加一个唯一的产品编号呢? 很郁闷 不会了代码如下
rs1.Open "select * from rkd", cnn, adOpenKeyset, adLockOptimistic
rs2.Open "select * from rkph", cnn, adOpenKeyset, adLockOptimistic
For i = 1 To 30
           If MF1.TextMatrix(i, 1) <> "" And MF1.TextMatrix(i, 9) <> "" Then
             '添加入库商品信息到"rkd"表中
             rs1.AddNew
                 If MF1.TextMatrix(i, 1) <> "" Then rs1.Fields("品名") = MF1.TextMatrix(i, 1)
                 If MF1.TextMatrix(i, 2) <> "" Then rs1.Fields("简称") = MF1.TextMatrix(i, 2)
                 If MF1.TextMatrix(i, 3) <> "" Then rs1.Fields("编号") = MF1.TextMatrix(i, 3)
                 If MF1.TextMatrix(i, 4) <> "" Then rs1.Fields("车型") = MF1.TextMatrix(i, 4)
                 
                 If MF1.TextMatrix(i, 5) <> "" Then rs1.Fields("规格") = MF1.TextMatrix(i, 5)
                 If MF1.TextMatrix(i, 6) <> "" Then rs1.Fields("质量") = MF1.TextMatrix(i, 6)
                 
                 If MF1.TextMatrix(i, 7) <> "" Then rs1.Fields("产地") = MF1.TextMatrix(i, 7)
                 If MF1.TextMatrix(i, 8) <> "" Then rs1.Fields("单位") = MF1.TextMatrix(i, 8)
                 If MF1.TextMatrix(i, 9) <> "" Then rs1.Fields("数量") = MF1.TextMatrix(i, 9)
                 If MF1.TextMatrix(i, 10) <> "" Then rs1.Fields("单价") = MF1.TextMatrix(i, 10)
                 If MF1.TextMatrix(i, 11) <> "" Then rs1.Fields("金额") = MF1.TextMatrix(i, 11)
                 If MF1.TextMatrix(i, 13) <> "" Then rs1.Fields("上限") = MF1.TextMatrix(i, 13)
                 If MF1.TextMatrix(i, 14) <> "" Then rs1.Fields("下限") = MF1.TextMatrix(i, 14)
                 If MF1.TextMatrix(i, 15) <> "" Then rs1.Fields("备注") = MF1.TextMatrix(i, 15)
                 If MF1.TextMatrix(i, 12) <> "" Then rs1.Fields("库房") = MF1.TextMatrix(i, 12)
                 If gys.Text <> "" Then rs1.Fields("供货商") = gys.Text
                 If jsr.Text <> "" Then rs1.Fields("经手人") = jsr.Text
                 If rkrq.Text <> "" Then rs1.Fields("日期") = rkrq.Text
                 If ph.Text <> "" Then rs1.Fields("票号") = ph.Text
              rs1.Update        '更新表
            End If

解决方案 »

  1.   

    是产品编号 例如SD0001 ,大约有1万种商品 不是票号  票号我目前做的也有问题 持续累加的票号 事实上每天第一张票号为 日期+票号(001) 更恰当 
    我写的代码如下
     Adodc1.RecordSource = "select * from  rkd  order by 票号"
     Adodc1.Refresh
     '创建入库票号
     If Adodc1.Recordset.RecordCount > 0 Then
      If Not Adodc1.Recordset.EOF Then Adodc1.Recordset.MoveLast
         If Adodc1.Recordset.Fields("票号") <> "" Then
            lsph = Right(Trim(Adodc1.Recordset.Fields("票号")), 7) + 1
            ph.Text = Date & "rkd" & Format(lsph, "0000000")
         End If
      Else
         ph.Text = Date & "rkd" & "0000001"
     End If
     
    帮忙给修改成每天第一张票号为Date & "rkd" & "0000001" 就完美了  谢谢
      

  2.   

    按照入库单存的话就很麻烦吗? 我现在做的是入库的时候检查库存是不是有 有就加数量 没有就添加记录。这种思路是不可能添加产品ID的吗?
    怎么才能比较简单的添加产品ID呢?
      

  3.   

    你可以试试这样去做:
    在每次要生成编号的时候,先从数据库取当前时间,再取目前最大的产品ID.
    把当前日期和最大的产品ID里面的日期部分进行比较,若日期相同,则在前一产品ID上加1;
    否则,利用当前日期生成新的产品ID,置后面的几位为00001就行了
    楼主可以尝试一下......
      

  4.   

    vb的我没做过,asp的做过,给你个思路
    先规定格式,比如"产品名"+年+月+日+流水号(0001) 就是你的编号
    然后关键是流水号,如果每日的产品量大就多些位数,然后递增,每过一天就初始为0001接下来,就在新增的时候查询数据库(用like),根据   "产品名"+年+月+日  得到记录数,再加1,就可以了