Foros del Web » Programación para mayores de 30 ;) » .NET »

Correlativo en VB .net

Estas en el tema de Correlativo en VB .net en el foro de .NET en Foros del Web. hola amigos estoy tratando de crear una formulario de registro y guardarlo en una base de datos... pero lo que quiero que al dar nuevo ...
  #1 (permalink)  
Antiguo 30/06/2011, 21:37
 
Fecha de Ingreso: diciembre-2008
Mensajes: 26
Antigüedad: 13 años, 5 meses
Puntos: 0
Correlativo en VB .net

hola amigos

estoy tratando de crear una formulario de registro y guardarlo en una base de datos... pero lo que quiero que al dar nuevo registro en el campo codigo me carge el codigo siguiente a usar:

por ejemplo:
si en mi tabla ya tengo 3 registro
A001
A002
A003

al darle click en nuevo registro me cargue en el text codigo (txtcodigo) el siguiente codigo (A004) el siguiente del campo guardado en la base de datos.

ayudenme porfavorrrr....

atte.

Miguel
  #2 (permalink)  
Antiguo 01/07/2011, 00:00
 
Fecha de Ingreso: abril-2010
Mensajes: 66
Antigüedad: 12 años, 1 mes
Puntos: 4
Respuesta: Correlativo en VB .net

Tu Campo de Codigo siempre va a ser de la forma Letra numero de tres digitos¿?????

Y la letra es en orden alfabetico?? o depentera de algo??. . .

Si todo es en orden. . . Osea despues algo asi
A998
A999
B001
B002. . . .

Se me ocurre que puedes hacer esto para mysql. .

Cita:
'Si se ingresa la Consulta da como resultado A002
Dim ResConsulta As String
Dim Numero As String
Dim Letra As String
Dim NuevoId As String
Cmd = New MySQLCommand("Select MAX(IdCampo) FROM Tabla", Conexion)
ResConsulta = Cmd.ExecuteScalar'Este guarda el ultimo Id ingresado a la tabla 'A002'
'Se separa la letra y el numero
Letra = Mid(ResConsulta, 1, 1) 'Se guarda 'A'
Numero = Val(Mid(ResConsulta, 2, Len(ResConsulta))) 'Se guarda '002' -> '2'
If Numero = 999 Then'Se llega al limite es decir continua la siguiente letra y el primer numero
Numero = 1
NuevoId = SiguienteLetra(Letra) & NumeroConCeros(Numero)
Else
Numero += 1 'SE cambia a '3'
NuevoId = Letra & NumeroConCeros(Numero)'Se conserva la letra y se forma 'A003'
End If
MsgBox(NuevoId)''Aki ya tienes el nuevo ID 'A003'

'Funciones. . . para conseguir el Numero con los CEros y la Siguiente letra

Private Function NumeroConCeros(ByVal vNumero As Integer) As String
Select Case vNumero
Case Is < 10
Return "00" & vNumero
Case Is < 100
Return "0" & vNumero
Case Else
Return vNumero
End Select
End Function

Private Function SiguienteLetra(ByVal vLetra As Char) As Char
Return Chr(Asc(vLetra) + 1)
End Function

Bueno esta solucion encontre espero que te funcione nose si sea la mejor pero almenos esa se me ocurrio jeje

Saludos. . .
  #3 (permalink)  
Antiguo 05/07/2011, 22:10
 
Fecha de Ingreso: diciembre-2008
Mensajes: 26
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Correlativo en VB .net

bueno disculpa pero me lanze con las letra solo va a ser numeros por ejemplo:

en uno comienso con
1001
1002
1003

en ptro formulario:
2001
2002
2003

y en otro formulario
3001
3002
3003
3004

la cuerstion que yo pueda predeterminar el primer numero....

te lo agradesco...

atte.

miguel
  #4 (permalink)  
Antiguo 05/07/2011, 23:13
 
Fecha de Ingreso: abril-2010
Mensajes: 66
Antigüedad: 12 años, 1 mes
Puntos: 4
Respuesta: Correlativo en VB .net

Cita:
Iniciado por Migue-LXC Ver Mensaje
bueno disculpa pero me lanze con las letra solo va a ser numeros por ejemplo:

en uno comienso con
1001
1002
1003

en ptro formulario:
2001
2002
2003

y en otro formulario
3001
3002
3003
3004

la cuerstion que yo pueda predeterminar el primer numero....

te lo agradesco...

atte.

miguel
Porque mejor no manejas 3 tablas diferentes????
y si todos los datos estan en una sola tabla
puedes hacer
-----------------------------------------------------------------------
Select MAX(Id) FROM TABLA WHERE Id < 2000
para los resultados
1001
1002
1003
----------------------------------------------------------------------------------
Select MAX(Id) FROM TABLA WHERE Id > 2000 AND Id < 3000
para los resultados
2001
2002
2003
------------------------------------------------------------------------------------
Select MAX(Id) FROM TABLA WHERE Id > 3000
para los resultados
3001
3002
3003
3004



Espero que esto es lo que tas buscando. . Sino da mas informacion para que pueda entender que es lo que kieres hacer. . .
Saludos
  #5 (permalink)  
Antiguo 06/07/2011, 07:38
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 11 años, 10 meses
Puntos: 267
Respuesta: Correlativo en VB .net

quieres hacer el correlativo desde sql o desde mismo codigo vb??
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #6 (permalink)  
Antiguo 08/07/2011, 17:46
 
Fecha de Ingreso: diciembre-2008
Mensajes: 26
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Correlativo en VB .net

desde vb y tengo 3 tablas diferentes

Etiquetas: correlativo, net, vb
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:57.