我如何...在vb.net中生成自动编号 [英] How do I...generate auto number in vb.net
本文介绍了我如何...在vb.net中生成自动编号的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想生成像A000012015这样的自动编号,我想把000001增加到00999,就像这样00001到000099.我的代码如下,如果有任何其他短代码请帮助我
Sub auto()
Dim A 作为 字符串 = A0000
Dim B 作为 String = Now.Year
Dim c As 字符串 = 1
Dim d 作为 字符串 = A + c + B
Dim f,i,j,k As 整数
Dim g,h As String
con。 Open()
com = 新 OleDbCommand( 从自动选择autonum,con)
如果 com.ExecuteScalar DBNull.Value 然后
AutonumTextBox.Text = d
否则
' g = com.ExecuteScalar
dr = com.ExecuteReader
while dr.Read
j = Microsoft.VisualBasic.Mid(dr.Item( 0 ), 3 , 1 )
f = Microsoft.VisualBasic.Mid(dr.Item( 0 ), 4 , 1 )
h = Microsoft.VisualBasic。 Mid(dr.Item( 0 ), 5 , 1 )
k = Microsoft.VisualBasic.Mid(dr.Item( 0 ), 2 , 1 )
i = j& f& h
结束 虽然
如果 i> = 999 然后
g = Microsoft.VisualBasic.Left(A , 1 )
AutonumTextBox.Text = g.ToString +(i + 1 )。ToString + B
ElseIf i> = 99 然后
g = Microsoft.VisualBasic.Left(A, 2 )
AutonumTextBox.Text = g.ToString +(i + < span class =code-digit> 1 )。ToString + B
ElseIf i> = 9 然后
g = Microsoft.VisualBasic.Left(A, 3 )
AutonumTextBox.Text = g.ToString +(i + 1 )。ToString + B
Else
g = Microsoft.VisualBasic.Left(A, 4 )
AutonumTextBox.Text = g.ToString +(i + 1 )。ToString + B
结束 如果
结束 如果
con.Close()
结束 Sub
解决方案
尝试使用以下代码:
Dim totalLength 作为 整数 = 5
Dim g As 字符串
对于 i 作为 整数 = 1 至 999
g = A + i.ToString()。PadLeft(totalLength, 0 C)+ DateTime.Now.Year
下一页
输出:
A000012015
A000022015
..........
A009992015
注意:根据您的问题(00001至00999),我将总长度设为5.因此,如果您需要更多,则可以更改 totalLength 值。
i want to generate auto number like A000012015 and i wnat to increment 000001 to 00999 like this not 00001 to 000099. my code is as under if any other short code for the same please help me
Sub auto()
Dim A As String = "A0000"
Dim B As String = Now.Year
Dim c As String = "1"
Dim d As String = A + c + B
Dim f, i, j, k As Integer
Dim g , h As String
con.Open()
com = New OleDbCommand("select autonum from auto", con)
If com.ExecuteScalar Is DBNull.Value Then
AutonumTextBox.Text = d
Else
'g = com.ExecuteScalar
dr = com.ExecuteReader
While dr.Read
j = Microsoft.VisualBasic.Mid(dr.Item(0), 3, 1)
f = Microsoft.VisualBasic.Mid(dr.Item(0), 4, 1)
h = Microsoft.VisualBasic.Mid(dr.Item(0), 5, 1)
k = Microsoft.VisualBasic.Mid(dr.Item(0), 2, 1)
i = j & f & h
End While
If i >= 999 Then
g = Microsoft.VisualBasic.Left(A, 1)
AutonumTextBox.Text = g.ToString + (i + 1).ToString + B
ElseIf i >= 99 Then
g = Microsoft.VisualBasic.Left(A, 2)
AutonumTextBox.Text = g.ToString + (i + 1).ToString + B
ElseIf i >= 9 Then
g = Microsoft.VisualBasic.Left(A, 3)
AutonumTextBox.Text = g.ToString + (i + 1).ToString + B
Else
g = Microsoft.VisualBasic.Left(A, 4)
AutonumTextBox.Text = g.ToString + (i + 1).ToString + B
End If
End If
con.Close()
End Sub
解决方案
Try with below code:
Dim totalLength As Integer = 5 Dim g As String For i As Integer = 1 To 999 g = "A" + i.ToString().PadLeft(totalLength, "0"C) + DateTime.Now.Year Next
Output:
A000012015
A000022015
..........
A009992015
Note: As per your question(00001 to 00999), I take total length as 5. So if you need it more then you can change totalLength value.
这篇关于我如何...在vb.net中生成自动编号的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文