Access - Al eliminar registro

 
Vista:

Al eliminar registro

Publicado por Miguel Angel (3 intervenciones) el 11/01/2007 23:21:01
Hola. Tengo el siguiente problema. Al borrar un registro pierdo la secuencia de los mismos. Ej: En el primer campo esta la secuencias de registros 1,2,3,4,5 etc. Al eliminar por ejemplo el registro 5. al crear otro registro, el nuevo se guarda como 6 y no como 5.
igual cuando elimino el registro 3. queda el 3 borrado y quisiera que el 4 pasara a ser el registro 3. Espero me puedan ayudar por favor . Se los agradesco mucho.
Gracias.
Saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Al eliminar registro

Publicado por Enrique (1299 intervenciones) el 12/01/2007 19:27:18
Hola Miguel Angel:
Contestar este tipo de preguntas a veces no es fácil porque no se sabe qué nivel de conocimientos de VBA tiene el que pregunta, pero de todas formas aquí tienes un sistema para renumerar registros, siempre que el campo Numerador NO sea un Autonumérico sino un simple campo Numérico cuya numeración correlativa se haga igualmente por código.

Justo al final del Evento que uses para Eliminar un registro llamas a este Evento Sub simplemente escribiendo: RenumCampos
Este Evento lo copias de aquí y lo pegas como está en cualquier parte de la ventana de código del Formulario. La renumeración se hará empezando por el número 1:

Private Sub RenumCampos()
Dim Renum As DAO.Recordset, K As Integer
Set Renum = CurrentDb.OpenRecordset("NombreTabla", dbOpenDynaset)
Renum.MoveLast
Renum.MoveFirst
For K = 0 To Me.RecordsetClone.RecordCount - 1
Renum.Edit
Renum!CampoNumeros = K + 1
Renum.Update
Renum.MoveNext
Next K
Renum.Close: Set Renum = Nothing
Me.Requery
End Sub

- NombreTabla es el nombre de la Tabla que contiene los números
- CampoNumeros es el nombre que le hayas dado a ese campo de los números. Todo lo demás lo dejas como está.
- En la Ventana Referencias asegurate de tener marcada la Referencia:
Microsoft DAO 3.6 Object Library

Suerte y ya me contarás. Saludos
Enrique
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Al eliminar registro

Publicado por Miguel Angel (3 intervenciones) el 12/01/2007 19:59:21
Hola Enrique.
Muchas gracias por tu ayuda. Personas como tu inspiran a poder seguir investigando y aprender para poder algun día llegar al nivel de conocimiento en el que te encuentras ahora.
Muy lamentablemente no se absolutamente nada de VBA. y me da mucho dolor en este momento. Ahora mismo estoy buscando información, libros, guias de VBA para poder captar todo lo que pueda.
Pense que tal vez habia una forma manual para hacerlo, sin utilizar el VBA.
De nuevo muchas gracias Enrique. Tratare de hacerlo por mas que sea dificil para mi.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Al eliminar registro

Publicado por Enrique (1299 intervenciones) el 12/01/2007 22:06:17
Hola Miguel Angel:
No dices si el campo que quieres renumerar es o no Autonumérico. Lamentablemente si lo fuera, no hay forma (que yo sepa) de renumerar ese tipo de campos si la tabla tiene registros y no quieres perderlos, en ese caso lo mejor sería que cambiaras el campo a formato "Numérico" y utilizando la Función DMax podrías ir numerando consecutivamente los registros, facilitando posteriormente la renumeración al borrar registros intermedios.
Si quieres puedo indicarte como hacer esto, así como el código para eliminar registros concretos, previo al Evento que antes te indiqué para renumerarlos posteriormente, o sea que serían tres partes, todas mediante código VBA:

- Numerar registros con Formato Numérico consecutivamente al crearlos.
- Eliminar registros concretos.
- Renumerar los registros de forma que vuelvan a quedar consecutivos.

Los dos primeros normalmente se suelen utilizar por ejemplo en aplicaciones de gestión para numerar: Pedidos, Albaranes, Facturas, etc. y el último, entre otros casos, para renumerar líneas del detalle de pedidos o albaranes al eliminar un articulo del pedido. Los campos autonuméricos solo deben usarse de forma interna para guardar un órden de entrada en una tabla o casos similares, pero nunca de forma visible en un formulario o informe.

Bueno, no me enrollo más, si te animas a probar, ya sabes....

Saludos
Enrique
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Al eliminar registro

Publicado por Miguel Angel (3 intervenciones) el 13/01/2007 00:17:38
Hola Enrique.
De nuevo gracias y claro que me animo a probar.
El campo si es autonumerico.
ok espero que tengas pasiencia, porque ni siquiera se donde van los códigos que mencionastes. Si tengo que crear una base de datos nueva o es una aplicación que se crea a parte. Disculpa por no poseer mas conocimiento al respecto. Pero si te aseguro que le voy a poner mucho empeño.
Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Al eliminar registro

Publicado por Enrique (1299 intervenciones) el 14/01/2007 20:51:10
Hola Miguel Angel, no me he olvidado de tu asunto, mañana mismo o lo más tarde pasado mañana, te voy a enviar un ejemplo práctico de lo que hemos hablado en este hilo é intentaré hacerlo de la forma más clara posible para que lo entiendas. Eso sí, al menos tendrías que tener mínimos conocimientos de lo que son los "Procedimientos de Evento" en los Formularios de Access, como introducirlos, como entrar en los módulos de código VBA, etc. porque sino, dificilmente llegaríamos a conseguir nada positivo.

Saludos cordiales
Enrique
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Al eliminar registro

Publicado por Miguel (1 intervención) el 15/01/2007 22:04:52
Hola Enrique. Ya me estaba preocupando. Pense que te habia asustado. :-))
No pude entrar al mi cuenta de yahoo de correo. No se si fue que se me olvido la contraseña, pero ahora no recuerdo tampoco la pregunta secreta. Ya perdi mi cuenta y con ella los mail que tenia guardados alli :(
Coloque una de hotmail por si acaso.
gracias Enrique por tu ayuda.
Miguel Angel.
[email protected].
Ya abri este correo para estar seguro de que este si me abre :-)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar