Setfocus en el primer campo de un subformulario que está como continuo

¿Serían tan amables de ayudarme con lo siguiente?

Estoy intentando posicionar el cursos en el primer campo de un subformulario que está como formulario continuo, simplemente poniendo Me. Nombredelcontrol. Setfocus, pero no se posiciona sobre el primer campo del nuevo registro, sino del último.

2 respuestas

Respuesta
1

Antes de la línea del setfocus pon esta:

DoCmd. Gotorecord,, acFirst

Gracias por responder, Sveinbjorn El Rojo, pero de igual manera se posiciona sobre el primer control de la misma línea de registros que estoy introduciendo.

Lo logré hacer con acNewRec.

Gracias mi estimado.

Saludos,

Sveinbjorn El Rojo, tengo un problema con la línea que incluí, no me acualiza las cantidades iniciales de un control, ¿Serías tan amable de brindarme tu mail, para enviarte mi bd y que ayudes con el problema?

Gracias de antemano.

Primeramente decirte que con acNewRec te va a un registro nuevo, no al primero, pero me alegra ver que lograste solucionarlo.

Si tienes algún tipo de cálculo o fórmula, prueba añadiendo una de estas líneas Me. Recalc o Me. Refresh.

Puedes enviarme la BD, comprimida, a este correo: [email protected] 

¡Gracias! Sveinbjorn El Rojo por responder, si lo que hice fue enviar el cursor a un nuevo registro y luego al primer campo. En cuanto a la bd te la envío pronto al correo explicándote donde y porque surge el error.

Gracias nuevamente.

Sólo tienes que hacer dos pequeños ajustes:

1º/ en el formulario principal (Solicitud de Materiales por Componente) cambia el procedimiento "Private Sub Seleccionar_Componente_Click()" de Private a Public (te quedará: "Public Sub Seleccionar_Componente_Click()")

2º/ En el evento "Private Sub Seleccionar_Código_Click()" del subformulario, añade la línea que te marco en negrita:

Private Sub Seleccionar_Código_Click()
Dim ValorCodigo As Long
Dim Cantidad As Integer

Me.Parent.Seleccionar_Componente_Click

ValorCodigo = Me.Seleccionar_Código.Column(0)

....

End Sub

Y ya funciona

Gracias por responder Sveinbjorn El Rojo, efectivamente se soluciona el problema, pero ahora me genera error con el control de cambios:

¿Serías tan amable de brindarme tu ayuda?

Gracias de antemano.

Ese error ya lo tenías antes de hacer el cambio. A mi ya me salió antes de hacerle nada...

Además, tienes otros errores en el módulo mdlComparoCambios, como este:

en esta linea:

 .Fields(5).Value = cContenidos.Item(i - 1)

Que salta al pulsar el botón para guardar.

Tendrás que revisar tú todo el módulo, no tengo tiempo (ni ganas) de depurar una aplicación de la que no conozco su funcionamiento. Lo siento. Lo que sí te puedo decir es que ese error creo que viene porque la colección no se inició correctamente.

Quizás mañana te pueda responder en el foro Neckkito, como autor del módulo, porque yo llevo un rato peleando (me picó la curiosidad) y no doy con el error. Lo que si encontré fue una forma de evitar que te salte el error, aunque se descuadra algo (no sé si es el origen del error o una consecuencia de mi "solución") en la tabla de modificaciones.

Para evitar el error añade, como primera linea del procedimiento ésta:

On error resume next

Mañana intentaré investigar algo más, pero no prometo nada.

Respuesta
1

Por lo que he creado entender, quieres que desde el formulario, o bien con un botón de comando o cualquier otra cosa, que se vaya al primer cuadro de texto de un registro nuevo del subformulario. Supongamos que el subformulario se llama Asignaturas. En un botón de comando, o en cualquier otro evento del formulario pon:

Me. Asignaturas. SetFocus
DoCmd. GoToRecord,, acNewRec

Así el cursor se ira al primer control del subformulario y con la siguiente línea de código se ira a un registro nuevo.

No sé si te referías a esto.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas