Foros del Web » Programando para Internet » ASP Clásico »

Generar codigo automatico

Estas en el tema de Generar codigo automatico en el foro de ASP Clásico en Foros del Web. Hola nuevamente, necesito crear un codigo automatico en cada registro que tengo en mi base de datos(son registros ya ingresados), este codigo q se generara ...
  #1 (permalink)  
Antiguo 17/06/2006, 11:51
 
Fecha de Ingreso: enero-2002
Ubicación: Callao - Perú
Mensajes: 1.127
Antigüedad: 22 años, 5 meses
Puntos: 0
Exclamación Generar codigo automatico

Hola nuevamente, necesito crear un codigo automatico en cada registro que tengo en mi base de datos(son registros ya ingresados), este codigo q se generara debe ser de 8 digitos (00000000) y comenzar a correr desde 00000001 ... como lo puedo hacer??

Gracias de antemano..
__________________
SaLuDoS dE:
PePeLuChO dEl PeRú PaRa El MuNdO
  #2 (permalink)  
Antiguo 17/06/2006, 12:01
Avatar de El_Metallick  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 1.718
Antigüedad: 21 años, 7 meses
Puntos: 16
mira lo puedes hacer con el campo autonimerico de la base de datos generalemente llamado id... y una función de la biblioteca de funciones para rellenar con ceros las demas casillas (http://www.forosdelweb.com/showpost....8&postcount=39 )
Saludos
__________________
Haz la guerra en la cama y el amor donde se te de la gana...
El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!!
  #3 (permalink)  
Antiguo 06/07/2006, 13:31
 
Fecha de Ingreso: mayo-2005
Mensajes: 274
Antigüedad: 19 años
Puntos: 0
Disculpa mi ignoracia, pero en access existe un campo autonumerico. En Sql Server existe el uniqueidentifier, pero me gustaria que mi registro comenzara desde 1 como en access y no con una serie de digitos que genera el tipo de campo uniqueidentifier. Como puedo hace eso?

Gracias!
  #4 (permalink)  
Antiguo 07/07/2006, 12:04
Avatar de JJF
JJF
 
Fecha de Ingreso: mayo-2005
Mensajes: 205
Antigüedad: 19 años
Puntos: 0
Sonrisa Me parece genial

Pero dónde es que va esa función?
  #5 (permalink)  
Antiguo 08/07/2006, 11:56
Avatar de amendoza  
Fecha de Ingreso: enero-2004
Ubicación: Guarena Venezuela
Mensajes: 139
Antigüedad: 20 años, 4 meses
Puntos: 0
Pepe, efectivamente en Access existe ese formato que tu necesita, cuando estes en definicion de DDBB en tipo de datos lo define como AUTONUMERICO, es muy sencillo no tienes que hacer nanda especial

saludos
__________________
:: El sentir del Llano en la WEB ::

www.llanerisimo.com
  #6 (permalink)  
Antiguo 08/07/2006, 16:38
Avatar de mamon  
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 1.302
Antigüedad: 22 años, 5 meses
Puntos: 3
la generación es sencilla.. tienes q saber que numero toca, luego debes saber de cuanto es su length y de ahi haces un for para rellenar los ceros que faltan
__________________
Yo si sé lo que es trabajar duro, porque lo he visto.
  #7 (permalink)  
Antiguo 09/07/2006, 02:46
 
Fecha de Ingreso: diciembre-2003
Mensajes: 141
Antigüedad: 20 años, 6 meses
Puntos: 0
Holas!

Ojo que hay que tener en cuenta un punto del comentario de pepelucho:

Cita:
(son registros ya ingresados)
En este caso deberás crear un cursor para recorrer los registros existentes e ir asignando el valor al nuevo campo con el valor del campo ID autonumerico que comentan los compañeros (ojo, igual existe una manera más sencilla, pero me acabo de levantar )

Con esto y la función que te propone El_Metallik, todo ok.

Saludos!!!
  #8 (permalink)  
Antiguo 09/07/2006, 03:01
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 19 años, 9 meses
Puntos: 18
Buen apunte de Neoz.
Metallick, esa función es válida, pero no puede jugar con autonuméricos por lo que Neoz ha apuntado.
Mamon, no. optimización lo primero. Sería mucho mejor guardar ese ID completo( no nos olvidemos que lo mejor, creo yo, sería guardarlo como alfanumérico). Así te evitarías el llamar a la función cada vez que lo recuperes. Sé que con esto te puedes ahorrar un nanosegundo, pero nanosegundo a nanosegundo, se hacen las páginas más rápidas
  #9 (permalink)  
Antiguo 09/07/2006, 04:46
 
Fecha de Ingreso: diciembre-2003
Mensajes: 141
Antigüedad: 20 años, 6 meses
Puntos: 0
Bueno... y siguiendo un poco ( )

Tal como apunta trasgukabi (saludos!) sería aconsejable guardar ese "ID" generado cuando insertamos el registro.
Lo que me surge la duda o ahora no recuerdo, es al ingresar el registro que valor tomará el ID autonumérico. De esta manera evitariamos editar ese valor, tomando como referencia el ID que nos ha creado el autonumérico, una vez creado el registro.

Saludos!!!

P.D. Igual me he liado yo solo...
  #10 (permalink)  
Antiguo 13/07/2006, 22:21
 
Fecha de Ingreso: mayo-2005
Mensajes: 274
Antigüedad: 19 años
Puntos: 0
Buenas...probe la funcion indicada por el metallik pero en la sig. linea de codigo se subraya en azul.

str(dif, "0") & Cstr(num)

en str() indica que "la expresion no es un metodo" y en Cstr() "se espera el fin de una instruccion".

alguien mas experimentando en el campor de la programacion puede indicarme que puede pasar.
  #11 (permalink)  
Antiguo 14/07/2006, 00:13
 
Fecha de Ingreso: diciembre-2003
Mensajes: 141
Antigüedad: 20 años, 6 meses
Puntos: 0
Hola jorge1980.

Diría que lo que te está pasando es que deberías cambiar Str o Cstr, por String. Es decir, quedaría:

String(dif, "0") & Cstr(num)

String lo que hace es añadir el número de carácteres (en este caso "0") tantas veces se lo indiquemos (en este caso "dif")

Por ejemplo

String(4, "0")

Nos daria como resultado "0000"

En la función que estás tratando, primero "mide" el número de carácteres que tiene el número ( largo = Len(Cstr(num)) ) y luego realiza la diferencia con los dígitos que queremos informar ( dif = digitos - largo ). Ahora con el valor de la variable dif, ya sabemos cuantos "0" (o el carácter que queramos) deberemos rellenar.

Saludos!!!
  #12 (permalink)  
Antiguo 14/07/2006, 07:05
 
Fecha de Ingreso: mayo-2005
Mensajes: 274
Antigüedad: 19 años
Puntos: 0
Ok!..entedi tu explicación.....realice la linea de codigo a la sig. forma, pero dejame anticiparte que el error continua..sera que me hace falta alguna especie de libreria o algo asi nose.

cstr (dif, "0") & cstr(num)

En cstr(dif, "0") dice: La expresion no es un metodo.

alguna otra surgerencia?

Puedes probrar la función y me dices que pordria pasar?

Gracias!
  #13 (permalink)  
Antiguo 14/07/2006, 12:08
 
Fecha de Ingreso: diciembre-2003
Mensajes: 141
Antigüedad: 20 años, 6 meses
Puntos: 0
Pero... cstr, es para convertir un valor por ejemplo numérico a alfanumérico...

Por lo que la expresión que estás usando, no es correcta. Como te comenté antes, deberias sustituir el trozo de código:

cstr(dif, "0") & cstr(num)

por este otro:

string(dif, "0") & cstr(num)

Saludos!
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 21:21.