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

Autonumerico en BD access

Estas en el tema de Autonumerico en BD access en el foro de ASP Clásico en Foros del Web. Ahora mi pex es el siguiente De una base de datos que tiene un autonumerico y que es con el que hago las consultas, cuando ...
  #1 (permalink)  
Antiguo 18/01/2002, 15:52
Avatar de sjam7  
Fecha de Ingreso: diciembre-2001
Ubicación: Guadalajara, Mexico
Mensajes: 3.672
Antigüedad: 22 años, 5 meses
Puntos: 16
Autonumerico en BD access

Ahora mi pex es el siguiente
De una base de datos que tiene un autonumerico y que es con el que hago las consultas, cuando borro un registro ese autonumerico ya queda vacio, por ejemplo, tengo registros del y al 5 y agrego otro, me agrega el 6, si despues lo borro e ingreso otro registro nuevo me lo pone en el registro 7 ¿es normal esto?

borro los datos con ADO asi:
RS.Delete y su respectivo RS.Update

JAM <font size="1">desde la tierra del tequila, el mariachi y mujeres guapas[/CODE]
<a href="mailto:[email protected]">[email protected]</a>
  #2 (permalink)  
Antiguo 18/01/2002, 17:13
Avatar de Aston  
Fecha de Ingreso: mayo-2001
Ubicación: Madrid
Mensajes: 933
Antigüedad: 23 años, 1 mes
Puntos: 0
Re: Autonumerico en BD access

Hola, este es su comportamiento normal, así qu no debes preocuparte.

De hecho, si quieres tener un Id que vaya recupernado los que se van borrando, entonces NO debe ser autonumérico, y tú deberás crearte una función para que cuando vaya dar de alta un nuevo registro busque el primero que este libre.

Espero te dé una idea. Un saludo. ;)

<a href="http://www.laventanita.net/" target="_blank">
<img src="http://www.breogan.org/images/Aston.gif" border="0" alt="La Ventanita.net - Lo imprescindible en la red"></a>
  #3 (permalink)  
Antiguo 18/01/2002, 17:13
 
Fecha de Ingreso: enero-2002
Mensajes: 48
Antigüedad: 22 años, 5 meses
Puntos: 0
Re: Autonumerico en BD access

Es completamente normal que el campo definido como autonumerico se comporte así.

Si es estrictamente necesario que no haga eso, debes hacer el manejo de la generación del consecutivo tu mismo.

Ciao
  #4 (permalink)  
Antiguo 18/01/2002, 17:17
Avatar de sjam7  
Fecha de Ingreso: diciembre-2001
Ubicación: Guadalajara, Mexico
Mensajes: 3.672
Antigüedad: 22 años, 5 meses
Puntos: 16
Re: Autonumerico en BD access

CHIN.. bueno, pues asi lo dejo mejor, muchas gracias amigos

JAM <font size="1">desde la tierra del tequila, el mariachi y mujeres guapas[/CODE]
<a href="mailto:[email protected]">[email protected]</a>
  #5 (permalink)  
Antiguo 18/01/2002, 17:19
Avatar de Aston  
Fecha de Ingreso: mayo-2001
Ubicación: Madrid
Mensajes: 933
Antigüedad: 23 años, 1 mes
Puntos: 0
Re: Autonumerico en BD access

De nada, sjam. Un abrazo. ;)

<a href="http://www.laventanita.net/" target="_blank">
<img src="http://www.breogan.org/images/Aston.gif" border="0" alt="La Ventanita.net - Lo imprescindible en la red"></a>
  #6 (permalink)  
Antiguo 18/01/2002, 17:20
Avatar de sjam7  
Fecha de Ingreso: diciembre-2001
Ubicación: Guadalajara, Mexico
Mensajes: 3.672
Antigüedad: 22 años, 5 meses
Puntos: 16
Re: Autonumerico en BD access

Bueno, pudiera ser un valor numerico manual y al hacer la consulta a la base de datos poner un if mas o menos asi:

Do while cuenta &lt;&gt; &quot;ya&quot;
if rs.eof or numero = &quot;&quot; then
.....
end if
cuenta = &quot;ya&quot;
Loop

Funcionaria algo asi???

JAM <font size="1">desde la tierra del tequila, el mariachi y mujeres guapas[/CODE]
<a href="mailto:[email protected]">[email protected]</a>
  #7 (permalink)  
Antiguo 18/01/2002, 17:52
Avatar de sjam7  
Fecha de Ingreso: diciembre-2001
Ubicación: Guadalajara, Mexico
Mensajes: 3.672
Antigüedad: 22 años, 5 meses
Puntos: 16
Re: Autonumerico en BD access

¿?

JAM <font size="1">desde la tierra del tequila, el mariachi y mujeres guapas[/CODE]
<a href="mailto:[email protected]">[email protected]</a>
  #8 (permalink)  
Antiguo 18/01/2002, 18:21
Avatar de sjam7  
Fecha de Ingreso: diciembre-2001
Ubicación: Guadalajara, Mexico
Mensajes: 3.672
Antigüedad: 22 años, 5 meses
Puntos: 16
Re: Autonumerico en BD access

Nada mas una pregunta amigo: nCont lo inizializo en 1 o asi como esta????

JAM <font size="1">desde la tierra del tequila, el mariachi y mujeres guapas[/CODE]
<a href="mailto:[email protected]">[email protected]</a>
  #9 (permalink)  
Antiguo 18/01/2002, 18:21
Avatar de Aston  
Fecha de Ingreso: mayo-2001
Ubicación: Madrid
Mensajes: 933
Antigüedad: 23 años, 1 mes
Puntos: 0
Re: Autonumerico en BD access

Venga Sjam7, ya no tienes que pensar más. Aquí tienes la función con la que pides el primer Id libre que tengas en una tabla.

Es muy útil en muchas ocasiones. Funciona para cualquier tabla. Sólo le tienes que pasar 2 parámetros de cadena (deben ir entre comillas):

cTabla: El nombre de la tabla.
cCampo: El nombre del campo del Id.

Sintaxis y ejemplo:

NuevoId(&quot;Clientes&quot;, &quot;Id_Cliente&quot;)

Nota importante

Donde abre el recordet, tienes que cambiar el nombre de mi conexión a la base de datos (dbConex) por el tuyo ¡Y ya está!

<pre>
Function NuevoId(cTabla, cCampo)
'Nos da el último Id para una tabla
Dim rsTabla, nCont
Set rsTabla = Server.CreateObject(&quot;ADODB.Recordset&quot;)
rsTabla.Open &quot;Select * From &quot; &amp; cTabla &amp; &quot; Order by &quot; &amp; cCampo, dbVentanit, 1

nCont = 1
Do While Not rsTabla.EOF
If rsTabla(cCampo) &lt;&gt; nCont Then
Exit Do
Else
rsTabla.MoveNext
nCont = nCont + 1
'If rsTabla.EOF Then cUser = &quot;aa&quot; &amp; Formato(nCont, 4) 'En Visual Basic peta ¡Vaya Full!
End If
Loop

rsTabla.Close: Set rsTabla = Nothing
NuevoId = nCont
End Function
</pre>

Bueno, espero te guste y te sirva, un saludo, amigo. ;)

<a href="http://www.laventanita.net/" target="_blank">
<img src="http://www.breogan.org/images/Aston.gif" border="0" alt="La Ventanita.net - Lo imprescindible en la red"></a>
  #10 (permalink)  
Antiguo 18/01/2002, 18:22
Avatar de Aston  
Fecha de Ingreso: mayo-2001
Ubicación: Madrid
Mensajes: 933
Antigüedad: 23 años, 1 mes
Puntos: 0
Re: Autonumerico en BD access

Hola:

Esta función mejora un poco si cambias

rsTabla.Open &quot;Select * From &quot; &amp; cTabla &amp; &quot; Order by &quot; &amp; cCampo, dbConex, 1

por

rsTabla.Open &quot;Select &quot; &amp; cCampo &amp; &quot; From &quot; &amp; cTabla &amp; &quot; Order by &quot; &amp; cCampo, dbConex, 1

¿Para qué pedir todos los campos si sólo necesitamos el Id?

Saludos.

<a href="http://www.laventanita.net/" target="_blank">
<img src="http://www.breogan.org/images/Aston.gif" border="0" alt="La Ventanita.net - Lo imprescindible en la red"></a>
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 22:51.