En este post aprendernos a crear códigos automáticos para nuestros registros de nuestra base de datos hecha en Sql Server totalmente personalizables en Visual Studio.Net.
El Formato de entrada a la función es:
Dim cod As String
cod= nuevocod("NOMBRETABLA","TABLA_ID","IDENTIFICADOR")
Ejm
El Formato de salida que tendremos es el siguiente
Ejemplo:
TABLA CLIENTES
CLI000001
TABLA USUARIOS
USU000001
TABLA PROVEEDORES
PRV000001
TABLA PRODUCTO
PRD000001
TABLA X
X000001
Creamos una tabla en Sql Server
Código SQL SERVER 2008
use master
go
CREATE TABLE dbo.Products
(Product_ID varchar(10) PRIMARY KEY NOT NULL,
Product_Name varchar(25) NOT NULL,
Product_Price money NULL,
Product_Description varchar(50) NULL)
GO
Bueno, tenemos la base de datos hecha en sql server para poder probar nuestro código.
Abrimos Visual Studio y creamos un nuevo proyecto de Windows Form
Agregamos un modulo al proyecto
Para VB.Net
Si creamos el proyecto en VB.NET pegamos el siguiente código en el modulo :
Función para nuevo código
...................................................................................................................
...................................................................................................................
Public Function nuevocod(ByVal tabla As String, ByVal id As String, ByVal IDEN As String) As String
Dim m As Integer, w, clave As String, nuevo As String
Dim const1 As String
Try
Conexion()
Dim SQLbuscar As String
SQLbuscar = "select top 1* from " + tabla + " order by " + id + " desc "
OCmd = New SqlCommand(SQLbuscar, oCnn)
'' oDtr = OCmd.ExecuteReader
Dim lectura As SqlDataReader = OCmd.ExecuteReader
If lectura.Read = True Then
clave = lectura(0).ToString()
clave = UCase(clave)
w = Replace(clave, IDEN, "")
m = CInt(w)
m = m + 1
Select Case m
Case 1 To 9
const1 = "00000"
Case 10 To 99
const1 = "0000"
Case 100 To 999
const1 = "000"
Case 1000 To 9999
const1 = "00"
Case 100000 To 999999
const1 = ""
End Select
nuevo = IDEN + const1 + m.ToString
Else
nuevo = IDEN + "000001"
End If
lectura.Close()
'cnx.Close()
Catch ex As Exception
MessageBox.Show("Error: " & Err.Description, "Se ha producido un error", MessageBoxButtons.OK, MessageBoxIcon.Warning)
End Try
Return nuevo
End Function
..............................................................................................................................................
Descargalo aqui:
..............................................................................................................................................
0 Comentarios:
Publicar un comentario