Campo ID Alfanumerico


([N1] roberto sanz) #1

Saludos a todos los velneadores, mi caso es el siguiente, he puesto que el campo ID de una tabla sea Alfa256 y siguiente al ultimo con longuitud 6 para que se rellene el campo de ceros a la izquierda, todo bien hasta que llega al 000009 pero el que debe ser 000010 me graba 00000a, alguien sabe porque?

Agradeceria la ayuda de los expertos (que hay muchos en este foro) para solucinar el problema.

Mil Gracias de Antemano

Roberto Sanz
desde (República Dominicana)


([N2] overBCN) #2

Hola @Roberto, solo te incrementará el contador si el campo es numérico.
Porqué le has puesto Alfa256 si al final lo hacer numérico?, en el caso que quieras poner ceros a la izquierda lo puedes hacer a través de otro campo
Saludos


([N1] RASA) #3

Hola [N2] Palomo, gracias por la respuesta, pero, el valor me esta incrementando aun siendo alfa256, el problema como mensiono es que cuando llega a 000010 lo que guarda es 00000a

Velneo plantea esto en las novedades de la version 7.8
" Campo ID alfanumérico en tablas submaestras: Si en una tabla submaestra tenemos definido el campo ID de tipo alfanumérico ahora realizará la numeración automática como valor alfanumérico formateando el ID con ceros a la izquierda hasta completa el tamaño del campo. (2572)"

Lo que quiero saber si solo es funcional para tablas submaestras y no para tablas maestras.

Mil gracias


([N4] gontorre) #4

Buenas tardes Roberto

Nunca he probado con identificadores alfanuméricos en las tablas, pero entiendo que Velneo está haciendo bien el incremento del ID. Si al campo es alfanumérico después del “9” va la “a”. Supongo que despues de “00000z” irá “000010” (o quizás “00000A”).

De todas formas creo que tener el ID alfanumérico no es la mejor opción. Al problema de la numeración automática le tienes que añadir que con 6 dígitos sólo puedes tener 999999 registros en la tabla. No sé si eso puede ser un problema.

Te recomiendo que pongas el ID numérico y si te hace falta crees otro campo alfa256 de longitud 6 con un contenido inicial rightJustified(numberToString(#ID,“f”,0),6,“0”) para tener el ID con ceros a la izquierda.

Un saludo

Gonzalo Torre


([N1] RASA) #5

Hola Gonzalo, mil gracias, resuelto el problema como indicas