Crear botón de navegación anterior en formulario independiente

Primero deciros que soy muy nobel.

Tengo un formulario independiente y he creado los botones de navegación todos me funcionan bien menos el botón del registro anterior.

En la tabla cuando un socio se da de baja se le elimina de esa tabla por lo que el numero de registra se queda vacío he creado este código pero no me funciona

Cod = Cod.Value - 1

Do While

If IsNull(Cod) Then

Cod = DlooKup("Cod","tbSocios","Cod=" & Me.Cod & "") - 1

Else

Cod = DlooKup("Cod","tbSocios","Cod=" & Me.Cod & "")

end if

Loop

1 respuesta

Respuesta
1

Honestamente, no he entendido nada. Primero dices que por medio de un botón no puedes desplazarte al registro anterior

Si tengo la tabla(fíjate en el registro con Cod 8)

En el formulario le he puesto un botón para ir al registro anterior y un botón, que eliminará el registro con cod=8

Si pulso el botón de anterior

Por el contrario, si hubiera pulsado el botón de "Eliminar..., que por lo que he supuesto, no lo sé, es lo que quieres

Me los ha renumerado

El código del evento Al hacer clic del botón de desplazamiento es

Docmd. Gotorecord,, acprevious

Y el código del evento Al hacer clic del botón de Eliminar es

Private Sub Comando12_Click()
Dim b As Integer
DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70
For b = Cod To DCount("*", "copia") + 1
Cod = Me.CurrentRecord
DoCmd.GoToRecord , , acNext
Next
Me.Requery
End Sub

Los dos primerosDocmd son para eliminar el registro actual(era el 8)

Lo demás es para renumerar el Cod

y el me. Requery es para que el formulario "reconsulte" su origen de registros.

Pero ya te digo que no sé si era eso a lo que te referías.

Muchas gracias por tu respuesta.

En mi tabla cada vez que se da un socio de baja se elimina el registro por lo que ese numero desaparece y como las bajas no son correlativas los números saltan dejando huecos sin números: ejemplo 8, 9, 14, 15, 16, 17, 20, 21, etc.

Siguiendo con el ejemplo, al pulsar el botón anterior lo que quiero es que vaya del 20 al 17 o del 14 al 9, así salte en cada uno de los registros no tengan numero.

Gracias.

Pues para eso está la instrucción que te puse en el botón. No tiene en cuenta valores, simplemente va al registro anterior, sea cual sea el número que tenga de cod.

Para ir al primero de todos los registros

Docmd. Gotorecord,, acfirst

Para ir al anterior

Docmd. Gotorecord,, acprevious

Para ir al siguiente

Docmd. Gotorecord,, acnext

Para ir al último

Docmd. Gotorecord,, aclast

Luego hay posibilidades. Ir por pasos, por ejemplo, de 3 en 3, etc.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas