Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

学做“自增序列号“的问题

磨磨  发表于:2009-11-10 16:45:14  
复制

这是按竹笛老师“自增序列号“代码学做的

我想将产品编号格式改成车间ID形式:车间—001

代码中 ”C” 如何改成“产品—001”谢谢

点击下载此附件

 

Top
竹笛 发表于:2009-11-10 17:34:47

 

表中的字段大小要调整一下,原来你是5现在改成20了。另外代码也做了修改,改成产品名称的更新后事件了。不能使用原来的窗体更新前事件。

点击下载此附件

 



磨磨 发表于:2009-11-11 17:42:05
谢谢,还是有问题点击下载此附件

磨磨 发表于:2009-11-11 18:55:50
对不起没说清楚,是这样:产品名称输入单字时可以继续,输入两个字只可显示一次编号,再输入两个字就出现错误了。

磨磨 发表于:2009-11-12 13:02:57

我将代码传上便于老师们查看,有什么办法在【产品名称】输入多少字,在编号内都能显示并正常。

还有产品名称与数字之间加“-”号怎么实现。谢谢

Private Sub 产品名称_AfterUpdate()
    
     Me.产品编号.Enabled = True
   
    Set n = CurrentDb.OpenRecordset("SELECT Max(CInt(Right([产品编号],Len([产品编号])-1))) AS LASTID FROM 产品")
   
    Me![产品编号] = Me.产品名称 & Format(Nz(n("Lastid"), 0) + 1, "0000")    '设定主索引
   
     ' Me.产品编号.Enabled = False

End Sub

这是要实现结果的代码。“有问题”



努力 发表于:2009-11-15 15:51:42

是有问题,我试了一下只有使用一位字母,使用多位字母或汉字第一次可以其次就不成了。愿因??我也不知道请大师们告知。



点燃一支烟 发表于:2009-11-15 16:44:25
Private Sub 产品名称_AfterUpdate()
Me.产品编号.Enabled = True
If DCount("产品编号", "产品") = 0 Then
Me.产品编号 = "" & Me.产品名称 & "" & "-" & "0001"
Else
Dim strbh1 As String, strbh2 As Integer
strbh1 = CurrentProject.Connection.Execute("SELECT Max(Val(Right([产品编号],4))) AS 产品编号1 FROM 产品").GetString
strbh2 = Val(strbh1) + 1
Me.产品编号 = "" & Me.产品名称 & "" & "-" & Format(strbh2, "0000")
End If
Me.产品编号.Enabled = False
End Sub

点燃一支烟 发表于:2009-11-15 16:46:10
磨磨 发表于:2009-11-15 18:33:01

谢谢,简单实用。



总记录:8篇  页次:1/1 9 1 :