设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1034|回复: 4
打印 上一主题 下一主题

[Access本身] 求助!如何实现自动+1功能?

[复制链接]
跳转到指定楼层
1#
发表于 2008-5-15 16:14:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我在以前的文档中有一列数字可以自动自动实现+1功能的,比如说在某行的其中一列输入1001,如果上列是1000,那么我直接按键盘上的向下键,那么会在下行的此列中自动出现1002,可是这个功能现在突然消失了,有没有人可以告诉我怎么把这个功能再调出来啊?本人新手菜鸟,越简单越好!谢谢
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2008-5-15 22:16:05 | 只看该作者
关注哦
3#
发表于 2008-5-16 00:27:35 | 只看该作者
[转载]自动编号解决方法大全

不知是否能满足你的需要[:50]

自动编号
一:
=IIf(Left(Nz(DMax("[jhd_id]","jinhuodan",""),0),6)<>Format(Date(),"yyyymm"),Format(Date(),"yyyymm") & "001",Format(Date(),"yyyymm") & Format(Val(Right(Nz(DMax("[jhd_id]","jinhuodan",""),0),3))+1,"000"))
二:
=nz(DLookUp("编号","登记表","[id]=DMax('id','登记表')"))+1
自动编号
方法一按时间自动编号:
dim a,b
a=dmax("[自动编号]","编号表")+1
b=format(date(),"yyyymm") & 00
if a>b then
me.自动编号=a
else:
me.自动编号=b+1
end if
方法二,按时间自动编号:
Dim a As String  
    a = Nz(DMax("销售单号", "销售帐单", ""), 0)
If Left(a, 6) <> Format(Date, "yyyymm") Then
    销售单号 = Format(Date, "yyyymm") & "01"
  Else
    销售单号 = Format(Date, "yyyymm") & Format(Val(Right(a, 2)) + 1, "00")
End If
方法三,按月分类自动编号:
Dim id, date2 As String  
   date2 = "GF" & [部门代码] & Format([入库日期], "YYYYMM")
   id = DMax("[rk编号]", "[入库单]", "[rk编号] Like '" & date2 & "???'")
   If IsNull(id) Then
      Me.RK编号 = date2 & "001"
   Else
      Me.RK编号 = date2 & Format(CStr(CInt(Right(id, 3)) + 1), "000")
   End If
按任意输入的日期值的年月自动编号
Dim a, b, c
c = Format(Me.凭证日期, "yyyymm")
b = Nz(c, 0) * 1000
a = Nz(DMax("[凭证号码]", "凭证", "format(凭证.凭证日期,'yyyymm')=format([forms]![凭证录入].[凭证日期],'yyyymm')"), 0) + 1
If a > b Then
Me.凭证号码 = a
Else:
Me.凭证号码 = b + 1
End If
新增一条记录时使用Right及DMax函数让字段的数字部分自动加1
答:使用Right及DMax函数返回字段“FOO”的数字部分的最大值,然后加1
表达式为:
="REC-" & right(DMax("FOO", "FOOTable"), _
Len(DMax("FOO", "FOOTable")) - _
InStr(1, DMax("FOO", "FOOTable"), "-")) + 1
注意:但如果很多用户或多个程序都使用DMax去实现这个结果的话,特别在一个很大的表中这个过程会很慢,所以建议使用DefaultValue,它仅仅使用DMax一次
程序如下,写在更新事件中
Private Sub SomeField_AfterUpdate()
Dim strMax as string
strMax =DMax("FOO", "FOOTable")
me!HiddenFooCtl = "REC-" & right(strMax, len(strMax) - Instr(1,strMax, "-")) +1
End Sub
如何用代码在“默认值”里实现自动编号?
如:第1号、第2号、...........、第198号..................
或:CN0001-A、CN0002-B、CN0003-B、.........、CN0004-A、CN1998-B……

这些要求都不需要在“表”的字段属性中完成,一般都是在界面编程中解决的。

用 dcount() 或者 dmax() 函数取值后用字符串组合的方法得到编号

  Private Sub Field1_Enter()
    If IsNull(Field1.value) Then
        Field1.value = "CN" & Format(CLng(DMax("mid(field1,3,4)", "table1") + 1), "0000") & "-A"
    End If
End Sub
4#
发表于 2008-8-21 22:02:58 | 只看该作者
靠,,,,不错....[:30]
5#
发表于 2008-9-5 14:43:38 | 只看该作者
不容易呀
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-12-2 04:03 , Processed in 0.115909 second(s), 29 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表