我用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
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
我写的代码如下
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" 就完美了 谢谢
怎么才能比较简单的添加产品ID呢?
在每次要生成编号的时候,先从数据库取当前时间,再取目前最大的产品ID.
把当前日期和最大的产品ID里面的日期部分进行比较,若日期相同,则在前一产品ID上加1;
否则,利用当前日期生成新的产品ID,置后面的几位为00001就行了
楼主可以尝试一下......
先规定格式,比如"产品名"+年+月+日+流水号(0001) 就是你的编号
然后关键是流水号,如果每日的产品量大就多些位数,然后递增,每过一天就初始为0001接下来,就在新增的时候查询数据库(用like),根据 "产品名"+年+月+日 得到记录数,再加1,就可以了