Mover foco en registros de un formulario

Estaría interesado en saber que evento he de realizar para que en un formulario, le de doble clic a un campo y que se vaya a otro con el mismo número o código. Ejemplo de la imagen, si en el campo “recicladopor” doy doble clic en el registro con referencia 03052021/7/2 me gustaría que el foco fuera a la columna id y que hay me buscara el mismo código que tenía en el campo “recicladopor” o sea el 03052021/7/2.

Esto me gustaría para buscar un registro de entre mucho, ya que tener que buscarlo visualmente es algo arduo.

Gracias de antemano.

Saludos

Respuesta
1

Para el ejemplo voy a usar como nombre del cuadro de texto Otro. En el evento Al hacer doble clic de ese cuadro de texto basta con ponerle

Docmd. Gotorecord,, acgoto, Otro

Id. Setfocus

hola Julián con tu respuesta me da esto, he de decirte que la columna id. En realidad se llama IdCursoRealizado "es por aclarar"

Gracias por tu respuesta

Rafael, en la otra respuesta te digo lo de hablar vía email por los problemas de imágenes y código que presenta esta página

2 respuestas más de otros expertos

Respuesta
1

La mas sencilla que conozco es 'buscar registro' que en su formato mas simple se ajusta a lo publicado.

Localizara la primera coincidencia en el campo activo (hay que enviarle el foco al campo) y lo que ha de localizar es el valor de el otro campo (mas sencillo no puede ser).

El evento ya 'esta hecho', solo hay que activarlo, esto es: en las propiedades del objeto (con el formulario en modo diseño), click en la pestaña eventos y de ellos se selecciona [al hacer doble clic] y clic en los puntitos para ir a la venta de VBA.

Aparece la declaración del evento y el final del mismo, en el medio en una línea solo se escribe

Me. Id. SetFocus ' esto le envía el foco al campo con el dato a localizar

Docmd. FindRecord Me. Recicladopor 'si lo localiza se desplazara a el

Nada impide que tras localizarlo se devuelva el foco al mismo campo que lo tenia antes (o cualquier otro), la búsqueda del dato la hace a partir del actual, pero se puede configurar (parametrizar) para que busque desde el inicio o desde el final, incluso en todos los campos.

NOTA: en las líneas que están en itálica (en las dos líneas) solo es util lo que esta en itálica y hay que eliminar los espacios que tienen tras el punto, (el foro actualmente impone algunos limites)

Respuesta
1

Puede utiliza este código

Private Sub recicladopor_DblClick(Cancel As Integer)
Dim codigo As String
' Obtener el código del campo recicladopor
codigo = Me.recicladopor
' Buscar el registro que coincide con el código en la columna "id"
DoCmd.FindRecord codigo, , True, , True, , acCurrent, True
' Enfocar el campo "id"
Me. Id.SetFocus
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas