我如何...在vb.net中生成自动编号 [英] How do I...generate auto number in vb.net

查看:445
本文介绍了我如何...在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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆