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. . .