Access交流中心

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

求助:请问各位大大如何实现编号按前一次输入记录自动累加

wang  发表于:2008-10-03 11:35:11  
复制

比如我第一次输入记录时,自已输入一个编号是002896,当输入完毕保存后,继续输下一条记录时,编号自动生成002897,依此类推。如果以前有002897这条记录,就应是002898,此数据库中编号不能重复。

 

Top
小ビビ2UのB8 发表于:2008-10-03 11:59:47

可以参考下那个函数:

 

http://www.accessoft.com/blog/article-show.asp?userid=2399&Id=2442

 

或许有所启示,,,



符鸿敏 发表于:2008-10-03 12:20:08

数据库编号字段设主键。然后在新增记录按钮的事件码中写:

me.编号=Format(DMax("[编号]","表")+1,"000000")



符鸿敏 发表于:2008-10-03 12:24:38

补充一下:

数据库编号字段设主键,数据类型-设为 文本型。然后在新增记录按钮的事件码中写:

me.编号=IIf(IsNull(DLookup("ID", "表名称")), "000001",Format(DMax("[编号]","表名称")+1,"000000")



残荷听雨 发表于:2008-10-03 15:33:40

3楼的代码这样改:

在〔编号〕的进入事件中添加

 If IsNull(Me.编号) Then Me.编号 = Format(DMax("[编号]", "表1") + 1, "000000")

 



符鸿敏 发表于:2008-10-03 16:45:13

4楼的答案有点新意,但不见得更先进,只是我那代码中还有点毛病,现在改正如下:

me.编号=IIf(IsNull(DLookup("编号", "表名称")), "000001",Format(DMax("[编号]","表名称")+1,"000000")



cad 发表于:2008-10-03 22:08:28

赞同意4楼观点!



wang 发表于:2008-10-07 11:53:52

但是我是想的以前记录很多,但有些编号已经有了,我只想从上一条记录中增加



trynew 发表于:2008-10-08 09:01:49

那就把DMax改成Dlast:

 

在〔编号〕的进入事件中添加

 If IsNull(Me.编号) Then Me.编号 = Format(DMax("[编号]", "表1") + 1, "000000")

 

或在窗体的成为当前事件中添加:

编号.DefaultValue = "'" & Format(DLast("编号", Me.RecordSource)+1,"000000") & "'"



符鸿敏 发表于:2008-11-21 23:37:15

请参考:

 

点击下载此附件

老谢 发表于:2009-03-11 13:28:42
学习! 

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