Texto Autonumérico

Hola de nuevo Salvador, ( y nunca mejor dicho :-)
Tengo otro problema y es que ahora, me he comprado un lector de código de barras, y resulta que muchos de los códigos tienen alguna que otra letra por el medio, bien, he cambiado todos los campos del campo código de barras a texto, pero uno de ellos que es el id de todos, era autonumérico, entonces necesito que ese campo sea autonumérico pero en texto. Quiero decir si sabes alguna manera lógica para que el campo pueda incrementar un número detrás de otro, y que sea texto y no numérico, por que si no al hacer las relaciones me falla y no funciona.
Bueno Salvador, muchas gracias.
1

1 Respuesta

29.725 pts.
Te puedo dar una solución. Crea una tabla con un solo campo numérico y un solo registro, introduce el valor inicial del contador.
Cada vez que quieras obtener el siguiente nº, lee de esta tabla el valor, incrementalo en 1, actualiza esta tabla, y asignaselo al nuevo artículo.
Tabla contadores. Campos UltArticulo.
Imaginate que el campo vale 705
El próximo artículo debería tener el valor 706, si sigues lo indicado anteriormente.
Un saludo
Salvador Ramos
www.helpdna.net
Hola Salvador, no te entiendo.
Haber quieres que cree una tabla con un campo "NUMÉRICO", y que le sume uno cada vez que creo un nuevo articulo, vale, ¿manualmente o mecánicamente?, si es manualmente no es que sea la solución que ando buscando. Y si es mecánicamente ¿cómo se crea?. Recuerda que necesito que ese campo sea "TEXTO" y no "NUMÉRICO" y que cree un valor automáticamente me da igual si es aleatorio como no, pero siempre único en ese campo.
Bueno no se si me he explicado bien Salvador. Si tienes alguna idea me la comentas, también si sabes si puedo hacer coincidir los tipos "NUMÉRICOS" o de "TEXTO" entre ellos seria la mejor solución.
Venga Saludos y Gracias.
Si lo que quieres es que el gestor de la base de datos lo haga automáticamente, es imposible, solo lo hace con autonuméricos.
Lo que yo te he explicado es una forma de hacerlo tu manualmente en la aplicación, pero que al usuario le aparezca sin tener que escribir nada.
En la tabla que te indico el campo sería numérico y tu de forma manual le vas sumando 1, y se lo mueves al campo de texto (haciendo una conversión del nº en una cadena de texto) que es el que ve el usuario. Con esto él cada vez que de de alta un registro le aparecerá ese campo que tu le devuelves en tu aplicación. Es decir, estás simulando mediante programación lo que necesitas.
Lo que no me queda claro es si sabes programar, y en caso de que sepas, dime en qué lenguaje estás haciendo la aplicación.
Si sabes programar, sólo diseñando tablas, consultas y formularios, no será posible conseguir lo que quieres. De forma automática (sin programar) sólo tienes el tipo de dato autonumérico que ya conoces. Lo que puedes es simular esto para texto programándolo tu.
Un saludo
Salvador Ramos
www.helpdna.net
Hola de nuevo Salvador.
Es en Access, la aplicación que estoy haciendo, y programar apenas se,( a base de copi & paste y manual de BV en la otra mano ) es una aplicación para mi, osea que tampoco necesito nada del otro mundo, pero donde me he encallado es en ese tramo de crear una relación entre un campo de texto y otro Numérico. Tenia todo hecho ya, y solo me faltaba el lector de código de barras, tenia pensado que los códigos eran todos numéricos, y lo hice todo para ese tipo de relaciones, y luego resulta que los códigos son alfanuméricos en su mayoría, ( una pifia como un toro ).
Entonces no hay problema en los artículos creados con antelación "de stock" por así decirlo, les entro el código y fuera, pero los artículos creados sobre la marcha, delante del cliente, esos tienen de tener un código automático, o ya creado como tu dices, no lo se, iré probando haber que encuentro. ( Y lo de la tabla que me dices, aún no lo he entendido. )
Hola Salvador, he estado dándole vueltas y más vueltas y creo que la solución es la que me has dado tú anteriormente, osea.
"Cada vez que quieras obtener el siguiente nº, lee de esta tabla el valor, incrementalo en 1, actualiza esta tabla, y asignaselo al nuevo artículo."
Lo único es que no se como hacerlo con access, por ejemplo como hago esto
"incrementalo en 1", ¿Cómo le incremento uno? Lo he probado de mil y una maneras, y no me deja incrementar nada automáticamente lo demás creo que con consultas de actualizaciones será fácil, pero lo de agregar los numeritos la verdad que es un poco difícil.
Bueno Salvador, voy a seguir intentando hacerlo funcionar de alguna manera.
Saludos.
Si tienes una tabla con una sola fila y un solo campo (como te expliqué anteriormente), esta es la solución para actualizar: tienes que hacer una consulta de actualización, y si no tienes claro como hacerlo, crea una consulta nueva, ponla en vista SQL y escribe lo siguiente:
UPDATE TuTabla
SET TuCampo = TuCampo + 1
Otra cosa muy importante. En este caso esta tabla no necesitas relacionarla con ninguna otra. Además siempre que quieras establecer una relación entre dos tablas, los campos por los que la relacionas deben ser de igual tipo e igual longitud.
Por favor, no olvides finalizar esta pregunta.
Pd. Me voy unos días de vacaciones, en breve volveré a estar a vuestra disposición.
Un saludo
Salvador Ramos
www.helpdna.net

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas