Hola necesito una ayuda, una BD. pero quiero que al insertar un nuevo registro, se genero el codigo de la siguiente manera: P0001.P0002.P0003....P000?????.,cuando llegue a 10 que salga P0010.P0011.P0012... cuando llegue a 100 que aparezca P0100.P0101.P0102.-- y asi sucesivamente. quien me puede ayudar, estoy ttrabajando coon consultas en un BD detro del SQL, y visual Ba sic 6.0. necesito su ayuda si alguien puede ayudarme le estare muy agradecido. 8)
OK.. esto te puede dar una idea ;) esto es un trabajo que hice
' NoProf = numero de proforma ok
' rsNProforma = tabla de la proforma ok
Dim NoProf As String
Dim rsNProforma As New Recordset
rsNProforma.Open "SELECT * FROM EncabezadoProforma", dbConex, adOpenStatic, adLockOptimistic
rsNProforma.MoveLast
NoProf = rsNProforma(0)
Text5.Text = Right("000000000" & Val(NoProf) + 1, 10)
rsNProforma.Close
**explico..
el punto esta en esta parte:
Text5.Text = Right("000000000" & Val(NoProf) + 1, 10)
**supongamos que la longitud de tu código es 10 ok.. por eso se agregó 10 ceros (0000000000). luego le sumamos 1 al número actual de regitrso.. si vas en el registro 100 (cien). al juntalor sería así: 0000000000"&"0000000100 la pc lo leería todo juento-- ose aasí 00000000000000000100
Luego de todo este valor solo tomamos los 10 primeros enpezando por la derecha... porque codigo es de longitud 10 ok.
por eso se usa: Right(00000000000000000100,10)
luego saldría así 0000000100
Espero que te dé una buena idea...
La siguiente función completa con los ceros que sea necesario a la izquiera de un número.
Function FillNum(Number As Long, Digits As Integer) As String
If Len(CStr(Number)) > Digits Then Digits = Len(CStr(Number)) + 1
FillNum = String$(Digits - Len(CStr(Number)), "0") & Number
End Function
Saludos.