Ir a un registro concreto en access sin filtrar datos

Tengo una base de datos en access 2010 con un menú de navegación. El menu de navegación se llama "Menu principal". Lueho esta el SubformularioDeNavegacion que le he llamado "navegacion" y dentro de este tengo cargado el formulario "contactos".

Desde aquí, a través de un botón abro el formulario "lista de contactos" como emergente, fuera del menu de navegación y selecciono el contacto que quiero ver. Almaceno el numero de registro en una variable pública llamada registroactivo y con DoCmd. Gotocontrol desde el formulario de "lista de contactos" intento ir al registro del formulario de "contactos" que he almacenado en mi variable registroactivo y no me funciona.

Me esta dando muchos problemas cuando tengo que llamar a los formularios dentro del menu de navegación y no se como solucionarlo.

He probado asi:

DoCmd.GoToRecord , Forms![Menu principal]![navegacion].CONTACTOS, acGoTo, registroactivo

asi:

DoCmd.GoToRecord , Forms![Menu principal]![navegacion], acGoTo, registroactivo

Asi:

DoCmd. GoToRecord, "Menu principal", acGoTo, registroactivo

Pero no me funciona de ninguna manera

1 Respuesta

Respuesta
2

¿Desde el formulario Contactos abres el de lista de contactos?. Si ese es el caso, y suponiendo que en el formulario contactos tengas un cuadro de texto llamado, por ejemplo, Direccion y en el formulario Lista de contactos tengas uno llamado, por ejemplo(para no poner nombres iguales), DondeVive, en las propiedades del formulario Lista de contactos-eventos-al activar el registro crea un procedimiento de evento y pon

If currentproject.allforms("Contactos").isloaded then

forms!contactos!direccion=Dondevive

end if

Me explico. Cuando hayas seleccionado el registro que quieras, comprobará si el formulario Contactos está cargado, que sí lo está pues "vienes de él", y por tanto te pasa al cuadro de texto Dirección el valor que figura en ese momento en el control DondeVive de ese registro activo.

Hola

El objetivo no es pasar datos de uno a otro.

Yo tengo un formulario que son fichas de empresas que se llama "contactos" y está contenido en un menú de navegación (El menú de navegación se llama "Menu principal" y el SubformularioDeNavegacion le he llamado "navegacion" y se supone que el formulario "contactos" esta cargado ahí). Con un botón en el formulario contactos, abro otro formulario llamado "listado de contactos" que busca entre todas las empresas. Es un formulario continuo y cuando hago click sobre la que me interesa y tengo el siguiente código:

registroactivo = Forms![lista de contactos filtro].CurrentRecord
If CurrentProject.AllForms("Menu principal").IsLoaded Then
DoCmd.GoToRecord acDataForm, Forms![Menu principal]![navegacion].[CONTACTOS], acGoTo, registroactivo
DoCmd.Close
End If

donde registroactivo es una variable pública y lo que quiero es que se cierre el formulario "listado de contactos" y el formulario de "contactos", dentro del Menu de navegación ("Menu principal" vaya al registro que indica la variable registroactivo pero no me funciona porque me da problemas la programación al estar contenido el formulario "contactos en el formulario de navegación y no se cómo resolverlo.

Gracias

¿Puedes poner una imagen del menú de navegación y de los formularios y subformularios?. Estoy totalmente perdido.

De todas formas, en la instrucción

Docmd. Gotorecord... para hacer referencia a un subformulario que está dentro de un formulario y éste a su vez es subformulario de otro formulario se usa

Formularios! [NombreForm]! [Nombresubformulario]. Formulario! [Nombresubsubformulario]. Formulario! [nombrecontrol]

El problema es que el formulario "contactos" esta dentro de un menú de navegación y no le llama bien. Si le abro independiente el código me funciona por lo que el problema esta en como llamar a contactos dentro del menú de navegación.

No se como mandarte una imagen por aquí para que lo veas!!!

¡El trabajar con formularios de navegación me esta dando muchos problemas!

Prueba con:

Pulsa Imprimir Pantalla en el teclado. Luego abres cualquier editor de imágenes, por ejemplo el Paint y pegas. Recortas lo que tengas que recortar y guardas

Luego, cuando vayas a escribir en Todoexpertos pulsas el botón

Localizas la imagen y ya la adjunta

Te digo lo que me ha parecido entender, más por la imagen, que por el resto. Si pulsas el botón Buscar Empresa, supongo que se abrirá un formulario con muchas empresas y que si haces clic en una quieres "que te lo pase" al formulario Lista de Contactos Filtro, que supongo que está basado en una tabla Lista de contactos(no lo sé) y que se cierre el formulario de empresas(yo le voy a llamar Clientes para aprovechar una que tengo) y en el formulario Lista de contactos filtro ya te aparezca esa empresa. Si tengo el formulario

Cuando pulso Buscar Empresas se me abre el formulario Clientes

Si hago clic en Around the Horn

Si vuelvo a pulsar Buscar Empresas y hago clic en Bólido....

El código que le he puesto en el evento Al hacer clic del cuadro de texto Nombrecliente del formulario Clientes es

Private Sub NombreCliente_Click()
DoCmd.SetWarnings False
If CurrentProject.AllForms("lista de contactos filtro").IsLoaded Then
DoCmd.RunSQL "insert into [lista de contactos] select * from clientes where idcliente=" & Me.IdCliente & ""
Forms![lista de contactos filtro].SetFocus
Forms![lista de contactos filtro].Requery
DoCmd.GoToRecord , , acLast
DoCmd.Close acForm, "clientes"
End If
End Sub

Si no es esto, lamentablemente tengo que decirte que me rindo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas