Access - FORMULARIOS ACCESS

 
Vista:

FORMULARIOS ACCESS

Publicado por JUAN CARLOS (3 intervenciones) el 22/10/2022 21:38:48
Buenas tardes.
Es mi primer post en este foro.
Agradecer de antemano la ayuda que me podáis prestar.
El caso es el siguiente:
Tengo dos formularios de access, Formulario 1 con un campo Código y otro Formulario 2 con el mismo campo.
Ambos están abiertos por orden, Formulario 1 y Formulario 2.
Mi pregunta es:
Se puede copiar al clicar sobre un dato seleccionado en el campo Código del Formulario 2, cerrar este formulario y pegar el dato en el campo Código del Formulario 1, todo ello con la misma expresión.
Muchas gracias por vuestra ayuda.
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

FORMULARIOS ACCESS

Publicado por Anonimo (3316 intervenciones) el 22/10/2022 23:48:24
Se puede hacer con una MACRO o con VBA (código), también se puede copiar y pegar (como último recurso).

Las Macros son la opción más sencilla para los primeros pasos (o eso pensaron sus creadores).

¿Se ha intentado algo o solo es curiosidad?

Mencionar el orden de apertura no es relevante, uno será el activo y el otro hace la función de ser 'la acera de enfrente' (al igual que el resto de los objetos que no son el activo).
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

FORMULARIOS ACCESS

Publicado por JUAN CARLOS (3 intervenciones) el 23/10/2022 13:26:18
En primer lugar muchas gracias por responder.
Sí lo he intentado con macros, pero no encuentro las de copiar y pegar un valor, sí la de cerrar ventana. De esa manera me sería fácil conseguirlo, pero ya te digo no encuentro esas macros.
Con código, comentar que soy novato en vba, aunque estoy haciendo un cursillo pero me llevará un poco de tiempo y necesitaba la instrucción cuanto antes, con vba o con macros.
Gracias.
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

FORMULARIOS ACCESS

Publicado por Anonimo (3316 intervenciones) el 24/10/2022 00:37:44
Partamos de conceptos claros: Las macros SON VBA al igual que las consultas generadas con el generador grafico de Access son: SQLs

Las macros lo demuestran porque que hay una opción para 'convertirlas' a VBA, esto es:
Crear una Función con lo que hace la macro, porque la macro es una guía/asistente para generar código sin saber código.

EN las consultas se puede ver copiar 'la SQL' si se pone a la consulta en ese modo de vista.

1º Acción de la macro es 'Establecer valor' (tendras que expandir el menú)
2º Acción abrir formulario (está abierto, pero la macro se asegura de que lo esté para poder ir a el)
3º Acción Ir a control (elige uno como destino)
4º Acción Cerrar ventana (para cerrar el formulario que cedió el valor)

Se cumple lo que se solicitó:
....
Se puede copiar al clicar sobre un dato seleccionado en el campo Código del Formulario 2, cerrar este formulario y pegar el dato en el campo Código del Formulario 1, todo ello con la misma expresión.
......


En la esquina superior esta la opción para convertir macros a Visual Basic (quitarle 'el papel' que envuelve a la macro)

Aparecerá en la ventana de VBA la macro convertida y como el formulario que recibe el dato tiene que estar abierto, se puede modificar el código generado para que en lugar de abrirlo se le envíe el foco.
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
Imágen de perfil de Eduardo

FORMULARIOS ACCESS

Publicado por Eduardo (317 intervenciones) el 23/10/2022 18:00:25
Se puede hacer, pero no le dicen como, no le recomiendo utilizar macros, en lo posible utilice VBA.

En el evento al hacer clic del campo pude ingresar este código

1
2
3
4
5
6
7
8
9
10
11
Dim lngLen  as Integer
 
lngLen = Len(RTrim(Me.direccion))
 
 Me.codigo.SelStart = 0
 Me.codigo.SelLength = lngLen
 
 
    If lngLen > 0 Then
     DoCmd.RunCommand acCmdCopy
    End If

Y para pegarlo en el otro formulario

1
2
3
Me.codigo.SetFocus  ' si no está sobre el campo codigo
 
 DoCmd.RunCommand acCmdPaste
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

FORMULARIOS ACCESS

Publicado por JUAN CARLOS (3 intervenciones) el 23/10/2022 21:58:50
Muchas gracias Eduardo, lo intentaré y ya te comentaré.
Un saludo.
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