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

Recuperar autonumerico que fue borrado y reusarlo

Estas en el tema de Recuperar autonumerico que fue borrado y reusarlo en el foro de ASP Clásico en Foros del Web. Hola aqui de nuevo yo con otro problema, ahora resulta que ya tengo mi base de datos funcionando: altas, bajas, actualizaciones y consultas, pero resulta ...
  #1 (permalink)  
Antiguo 27/10/2004, 17:43
 
Fecha de Ingreso: agosto-2004
Ubicación: Tijuana, Baja California, Mexico
Mensajes: 72
Antigüedad: 19 años, 10 meses
Puntos: 0
Recuperar autonumerico que fue borrado y reusarlo

Hola aqui de nuevo yo con otro problema, ahora resulta que ya tengo mi base de datos funcionando: altas, bajas, actualizaciones y consultas, pero resulta que tengo otro problema, cuando doy de baja un registro el autonumerico lo pierdo ejemplo:

tengo el registro 124 nombre domicilio, el 125 nombre domicilio y el 126 nombre domicilio

bueno cuando borro el 125 nombre domicilio me quedan el 124 y 126, lo que quiero es que se pueda utilizar de nuevo el 125 y no haya brincos de numero de registros en mi base.

asi me lo estan pidiendo y ya le di la vuelta al foro y no e encontrado una solucion, espero me puedan ayudar de nuevo.

estoy usando ASP, ACCESS 2000 y DREAMWEAVER
  #2 (permalink)  
Antiguo 27/10/2004, 18:16
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
Pues... andá diciéndole al que te lo pide que NO. Los campos autonuméricos no sirven para "numerar registros" sino para mantener un identificador único e irrepetible... Entonces, por más que el eliminado sea el último ingresado (126 en tu ejemplo), el siguiente ingresado será el que le correspondía a ese eliminado + 1 (127 si seguimos en el ejemplo que diste).. con lo cual te quedaría 1 ... 124, 125 y 127 (el 126 nunca más volverá a existir)
__________________
...___...
  #3 (permalink)  
Antiguo 27/10/2004, 20:44
Avatar de sjam7  
Fecha de Ingreso: diciembre-2001
Ubicación: Guadalajara, Mexico
Mensajes: 3.672
Antigüedad: 22 años, 5 meses
Puntos: 16
lo que se me ocurre para que puedas tener un consecutivo seria, con el recordcount, osea, contar los registros actuales y al agregar uno nuevo que sea el resultado mas 1.

El problema seria que si se borran archivos ese contador tambien quedaria brincado, a menos que hicieras una funcion que te renumere los registros al borrar alguno, aqui el inconveniente seria que quiza un usuario es un dia el numero 15 por ejemplo, y quiza mañana sea el 16.....
__________________
CreandoWebs.com
www.creandowebs.com
PLANTILLAS TEMPLATEMONSTER CON 10% DE DESCUENTO
  #4 (permalink)  
Antiguo 28/10/2004, 00:24
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 años, 7 meses
Puntos: 4
Otra opción sería no borrar el registro completo, dejando todos sus campos, excepto el autonumérico, vacíos. Cuando vayas a insertar un nuevo registro compruebas cuál es el primer registro que aparece con todos los campos vacíos (repito, excepto el autonumérico) y lo actualizas con los nuevos valores. Si no ha encontrado ningún registro con las anteriores características insertas uno completamente nuevo.

Eso sí, a la hora de contar el número de registros totales tendrás que modificar tu sentencia SQL de manera que solo te recoja los registros no vacío (que pesado, excepto el autonumérico).

De todas formas, coincido con Al Zuwaga. Los autonuméricos son lo que son, y si quieres evitar los saltos no te queda más remedio que utilizar otro tipo de campo e ir renumerando cada registro tras el borrado.

Un saludo.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #5 (permalink)  
Antiguo 28/10/2004, 05:09
Avatar de Muzztein  
Fecha de Ingreso: agosto-2002
Ubicación: Hangar 18
Mensajes: 1.703
Antigüedad: 21 años, 9 meses
Puntos: 16
leete unos manuales de sql de pasadita.

  #6 (permalink)  
Antiguo 28/10/2004, 07:05
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 años, 7 meses
Puntos: 4
Muzztein, no es por iniciar polémica pero ya que has demostrado de sobra ser un buen forero en muchos temas anteriores podrías intentar conservar esa imagen siendo un poco menos parco en palabras.

Nada más.

Un saludo a todos.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #7 (permalink)  
Antiguo 28/10/2004, 07:50
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Bravenap, sino fuera por vos, este foro se parecería a por ejemplo, el de actualidad, donde hasta te la piensas para postear algo, ya que si a alguien anda de genio ........, pero continuemos.

Bueno, ese problema era muy común en los tiempos de clipper, por ejemplo, una aplicación de biblioteca donde deben existir consecutivos de los libros, pero si alguno va a ser sustituido por otro, debe conservar ese mismo número.
Eso se arreglaba teniendo una tabla auxiliar, dónde las bajas agregaban el ID eliminado. Y las altas la consultaban antes; si esa tabla estaba vacia, incrementar el último ID de la tabla y agregar, pero si tenía registros, se debia utilizar el primero de dicha tabla y eliminarlo del auxiliar al agregarlo.

Bueno, como dice U_G: mis dos centavos.
  #8 (permalink)  
Antiguo 28/10/2004, 18:12
Avatar de Muzztein  
Fecha de Ingreso: agosto-2002
Ubicación: Hangar 18
Mensajes: 1.703
Antigüedad: 21 años, 9 meses
Puntos: 16
chiquillos, relajen la vena.

Solo le estaba haciendo una sugerencia al amigo Jaimexx que habia dicho que era nuevo en todo esto.

Todos ustedes ya habian dado buenos aportes al amigo y solo faltaba una ultima recomendacion que es:

Leer manuales! o como dicen por ahi. RTFM

Es la unica forma de aprender la tecnica de algo.
Leyendo los manuales.
Y al amigo le hace falta intruirse mas en el asunto para mejorar pues.

no hay nada de malo en eso.

Ahora, si te refieres al tono de mi comentario, puede ser un mal entendido debido a las diferentes formas de hablar el español.

Eso es todo.

<--------- este gif representa buena onda, porsiacaso.
  #9 (permalink)  
Antiguo 29/10/2004, 01:34
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 años, 7 meses
Puntos: 4
Que no, que no, si sólo era un poco irónico. Es que a veces me quedo un poco... (piiiiii...... encefalograma plano), y me imagino que el que pregunte también, con la longitud y el ímpetu de tus comentarios, que no por ello irrespetuosos en elgún modo. Je, je, sólo era eso, pero si quieres nos inventamos algo más y le damos vidilla al tema

__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
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 16:32.