VB编程问题(刚刚没发好,重新写了)

[复制链接]
查看11 | 回复1 | 2011-4-25 21:09:02 | 显示全部楼层 |阅读模式
'自动生成凭证号码
Data1.RecordSource = "select * fromtb_djb order by 凭证号码"
Data1.Refresh
If Not Data1.Recordset.EOF Then Data1.Recordset.MoveLast
If lsph.Text = "" Then bh.Text = Date & "d" & Format(1, "###000")
If lsph.Text"" Then
y1.Text = Month(Date)
y2.Text = Month(Left(lsph.Text, 10))
If y1.Text = y2.Text Then

bh.Text = Date & "d" & Format(Val(Right(lsph.Text, 3)) + 1, "###000")
End If
If y1.Texty2.Text Then

bh.Text = Date & "d" & Format(1, "###000")
End If
End If
这个代码每次生成的号码都是一样的。不变。应该修改哪里,能让它自动编号,按顺序编号,帮忙修改一下,注明清楚!
百度知道里有一个答案,但我觉得没改,所以求助一下。拜托了!!!
谁能帮帮我啊?

回复

使用道具 举报

千问 | 2011-4-25 21:09:02 | 显示全部楼层
我知道你的意图,但没大明白你的写法,是要按日期变化(即同一天里从1开始)还是一个连续的流水号(所有数据从1开始). 但Data1.RecordSource = "select * fromtb_djb order by 凭证号码"这一句个人认为应该写成:Data1.RecordSource = "select max(凭证号码) fromtb_djb"这样写更节约系统资源,一次最多返回一条记录且就一个字段,而你那个则一次会返回所有记录及所有字段如果要在每一天里进行编号建议写成这样的格式:年年年年月月日日+每天流水号,如201104250001如果这样的话就很好办:取得最大的流水号,取出前8位,与今天的日期比较,如果是同一天,
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行