打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
VB 日期+数字 自动编号
实现这样一种编号,就是按日期累加的方式,例如(今天是08年05月24号,
则当天的编号为08052401,08052402,08052403,第二天的则为08052501,08052502,08052503)不知道这样的代码要怎么写,有知道的老师帮我写一下好吗?

这个问题第1个回答:
取时间值

Public i As Integer
Private Sub Command1_Click()
i = i + 1
If i < 10 Then h = "0" & i
If i >= 10 Then h = i
Print Year(Now) & Month(Now) & Day(Now) & h

End Sub
这个问题第2个回答:
你这种情况最好用数据库来实现,因一旦程序关了以后前面记录就消失了。需要代码请回复。
这个问题第3个回答:
其实问题不是日期上,应该是编号上
主要看你的编号用在什么地方
因为隔一天你的编号需要清一次0
所以需要把最后一次的编号号码和日期存在一个地方
万一程序被关掉或重新启动,都能通过这个地方得到
最后一次的编号号码和日期信息。
存的地方可以选择注册表,比较方便
以下代码简单实现了你要的功能
VBScript code
Private Sub Command1_Click()   MsgBox GetCodeingEnd SubPrivate Function GetCodeing() As String   '取得保存的信息   Dim SDate As String   Dim SNumeric As String   Dim ReturnStr As String   SDate = GetSetting(appname:="MyApp", section:="GetCodeing", Key:="SDate", Default:=CStr(Date))   SNumeric = GetSetting(appname:="MyApp", section:="GetCodeing", Key:="SNumeric", Default:="0")      If CDate(SDate) < Date Then SDate = Date: SNumeric = 0   SNumeric = CLng(SNumeric) + 1   ReturnStr = Format(SDate, "yyMMdd") & Format(SNumeric, "00")   SaveSetting "MyApp", "GetCodeing", "SDate", SDate   SaveSetting "MyApp", "GetCodeing", "SNumeric", SNumeric   GetCodeing = ReturnStrEnd Function


这个问题第4个回答:
SaveSetting "MyApp", "GetCodeing", "SNumeric", SNumeric
存储的信息在注册表的这个地方
HKEY_CURRENT_USER\Software\VB and VBA Program Settings\MyApp\GetCodeing
这个问题第5个回答:
你说的与数据库相关吗?
这个问题第6个回答:
建个数据表 AutoSerialNO IDNO Int not null
首先判断录入的当前系统日期为 STRDATE,
STRDATE=REPLACE(RIGHT(FORMAT(DATE,"yyyy-MM-DD"),8),"-")
执行时查询AutoSerialNO左6为strdate的最大编码的右边两位,
if rs.eof then
  strgetNO=right(datediff("y",date),2)&format(datediff("m",date),"00")&format(datediff("d",date),"00")&"01"
else
  strgetNO=right(datediff("y",date),2)&format(datediff("m",date),"00")&format(datediff("d",date),"00")&format(val(right(rs!IDNO ),2)+1,"00")
end if
这个问题第7个回答:
把时间拆分一下
Private S() As String
Private DTs As String
Private i As integer
DTs = Format(Now, "yyyy-mm-dd")
S = Split(DTs, "-")
你要的编号=s(0)&s(1)&s(2)& Trim(i)
i=i+1
这个问题第8个回答:
你好,请教下怎么在数据库里实现呢?有代码吗?我的邮箱是:zskq520@163.com,谢谢!
这个问题第9个回答:
这样的编号格式是可以了,但有一个问题是,如果我正常增加数据那是没问题,要是我取消添加关闭添加窗体,然后又重新
  想添加数据这时候出来的是08052402而不是08052401.正常的话应该是在打开添加窗体要是没有添加数据,那么编号是
:08052401才是对的呀,我困扰的地方就是在这里的.
这个问题第10个回答:
看我给你的代码没有?
最好把代码复制到程序里看看
这个问题第11个回答:
最笨的方法,建个表,2字段, Fdate,MaxID. 每次 新建 一个 编号的时候,去数据库 找一下,有没有 当日 的记录,有的话,update Maxid=Maxid+1 ,并且编号为  Fdate & right("00" & maxid,2) ,若 没有当日记录 说明是 第一条,则 新增 记录 Fdate 为 当日 日期 ,maxid 为 1 , 编号为 Fdate & right("00" & maxid,2),回答完毕,接分.... 
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Access时间日期比较查询的方法总结
七彩梦论坛已运行天数代码和PW7.0的底部代码 - 皋城心砚 - 放飞心情 平常心 一切随...
VB中DateDiff 函数解释
VB程序使用时间和次数限制
VB读写注册表的三种方法
机房收费系统难点总结(1)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服