Access - ABRIR FORMULARIO "A" , DESDE FORMULARIO 2"B", EN UN REGISTRO ESPECIFICO

 
Vista:

ABRIR FORMULARIO "A" , DESDE FORMULARIO 2"B", EN UN REGISTRO ESPECIFICO

Publicado por bruno (2 intervenciones) el 17/02/2017 21:01:55
Buenas tardes: tengo la siguiente pregunta, es lo que me falta para terminar mi proyecto:

tengo mi tabla "PROYECTOS", un formulario creado de esta tabla llamado "VISTABASICA" y un segundo formulario llamado "VISTACOMPLETA"

Citada tabla tiene muchos registros y su clave ppal. es un codigo alfanumerico.


NECESITO QUE, si en mi formulario "VISTABASICA" hago doble click en el codigo abc-2017-001a, (que es el registro nr 40), se debe abrir el formulario "VISTACOMPLETA", pero en el mismo registro (nr 40),

Si es necesario mas detalle, pidanlo.
La respuesta me sirve tanto en VBA, MACROS o GENERADOR DE EXPRESIONES.
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
Imágen de perfil de Manuel
Val: 392
Plata
Ha aumentado 1 puesto en Access (en relación al último mes)
Gráfica de Access

ABRIR FORMULARIO "A" , DESDE FORMULARIO 2"B", EN UN REGISTRO ESPECIFICO

Publicado por Manuel (167 intervenciones) el 17/02/2017 22:33:09
Lo puedes hacer tanto con macros como con VBA. En el caso de VBA sería usar:

1
DoCMD.OpenForm "VISTACOMPLETA", acNormal, , "código=" & codido.value
en donde código sería el componente con el código por el que quieres filtrar... ahí tendrías que adecuar a tu situación.

Así abrirías VISTACOMPLETA con una condición WHERE que filtra la fuente de datos del formulario. También podrías recurrir al apartado que está vacío en ese código: el filtro... El resultado no es igual, pero creo que por lo que te entiendo, este se ajusta mejor a ti.

Con una macro, pues es lo mismo exactamente, pero en donde completas de forma más visual la acción que quieres. Solo cambia que luego en el Where tienes que poner ruta completa del campo por el que quieres filtrar, y sería de la forma: [Forms]! [VISTABASICA]! [Codigo]

Link con documentación y ejemplos de OpenForm: https://msdn.microsoft.com/es-es/library/office/ff820845.aspx

hasta luego
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

ABRIR FORMULARIO "A" , DESDE FORMULARIO 2"B", EN UN REGISTRO ESPECIFICO

Publicado por BRUNO (2 intervenciones) el 18/02/2017 04:36:49
No funciona. Use el generador de macros, quedando mas o menos asi:

AbrirFormulario
Nombre del formulario: VISTACOMPLETA
Vista: formulario
Nombre del filtro:
Condición WHERE =[Formularios]![VISTABASICAl]![CODIGO]

(CODIGO es el nombre del campo que es mi clave ppal)

al ejecutarlo, solo me abre un registro. lo que necesito hacer es que, si yo hago doble click en el registro 153 del formulario VISTABASICA, se abra el formulario VISTACOMPLETA en el mismo registro. Y así en cualquier registro que elija.
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 Manuel
Val: 392
Plata
Ha aumentado 1 puesto en Access (en relación al último mes)
Gráfica de Access

ABRIR FORMULARIO "A" , DESDE FORMULARIO 2"B", EN UN REGISTRO ESPECIFICO

Publicado por Manuel (167 intervenciones) el 18/02/2017 10:08:39
Luego en lugar de usar la condición WHERE usa el filtro y cuando quieras acceder al resto de registros, pues solo anula el filtro.

A través de VBA solo tendrías que rellenar la propiedad filter del formulario con algo por el estilo de "CODIGO LIKE '*" & me.Codigo.Value & "*'" y después poner a true la propiedad filteron. En filter se define el filtro y en filteron se activa. Cuando no lo necesitas simplemente lo desactivas vía parte inferior del formulario (si tienes activo la barra de navegación de registros, en el menú... o por código con un botón que ponga el filtro del formulario a false -que es me.form.filteron=false).

La última opción, pues es abrir el formulario por código y por código recorrerlo hasta encontrar el registro concreto.
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