Sumar en campo numérico

Saludos master, necesito tu ayuda en lo siguiente:
En una base de datos tengo un campo que es num_ord y otro nombre, cuando introduzco un registro nuevo necesito a veces poder intercalarlo pero para ello, la tabla debería sumar uno a cada registro posterior al número que introduzco, me explico más
registro : 1, 2, 3, 4, 5
ingreso registro con num_ord = 3, entonces la tabla devería coger el num_ord 5 y ponerle 6 y asi sucesivamente hasta llegar al num_ord 3 que ya estaba y ponerle num_ord 4.
Soy mu torpe preguntando así que explicando peor todavía, espero tu ayuda, gracias por anticipado

1 Respuesta

Respuesta
1
Supongo que las inserciones las haces desde un formulario, ya que si lo haces directamente en tablas, no se puede controlar nada.
Luego asumo que existe el formulario, si no es así lo creas. Tendrás también un campo en el formulario que dice en qué orden debe ir. Si es así, vamos a ello.
Abre de nuevo el formulario en vista diseño. Sácale las propiedades con ver/propiedades, pestaña eventos, te pones en el campo de 'al ocurrir un error' y le das a los puntos suspensivos para generar código.
Vale, estarás en el editor de visual basic. Abre el menu Herramientas/Referencias y comprueba, y sino hazlo, que esté activa la Microsoft DAO 3.6 Object Library. Además, en el sitio donde tienes el cursor para teclear, le pones
If DataErr = 3022 Then
CurrentDb.Execute "update orden set orden=orden+1 where orden>=" & Me.orden
Response = acDataErrContinue
SendKeys "{tab}{tab}"
End If
Esto lo que hace es comprobar si el error que dispara el formulario es el de datos duplicados (supongo que tu campo de ordenes una clave única en la tabla). Si es así, remunera los registros, anula el mensaje de error y lanza un par de tabs para avanzar efectivamente de campo.
Tendrás que poner tus propios nombres de campos y de tabla.
Y,.. Bueno, me cuentas, que ya va mucho y ni siquiera sé si voy bien con lo que quieres conseguir.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas