Por que El DoCmd.GoToControl no me funciona?

Tengo un formulario con un control de pestaña, y un cuadro de lista dentro de una de las pestañas, lo que necesito es que al hacer doble clic en un elemento de la lista este me copie la información y me la pase a la pestaña siguiente en mi caso le di el nombre de DETALLE con un cuadro de texto que se llama Id_Producto

La pestaña se llama Lista_Productos y contiene un cuadro de lista que se llama CuadroProductos

La siguiente pestaña se llama Detalles necesito que se filtre la información en un cuadro de texto que tiene el nombre Id_Producto

Nota: este cuadro de texto tiene su origen de una tabal

Esta es la estructura de la Macro

Private Sub CuadroProductos_DblClick(Cancel As Integer)

DoCmd.GoToControl "DETALLE" 

Me.Filter = "Id_Producto=" & Me.CuadroProductos

Me.FilterOn =True

End Sub

Al ejecutarla no me de el resultado esperado

Cuando le doy en ejecutar paso a paso con F8 al llegar a "DoCmd.GoToControl" me manda el error 2046 y el mensaje LA ACCION O COMANDO IrAControl NO ESTA DISPONIBLE AHORA.

Respuesta
2

Mario: Mira éste enlace de Microsoft que trata de Seleccionar pestañas y acceder a controles.

https://docs.microsoft.com/es-es/office/vba/access/concepts/controls/refer-to-tab-control-objects-in-vba

Si no malentiendo tu pregunta, lo primero que deberías de hacer es pasar el valor del ID_Producto al TextBox correspondiente, de acuerdo a la Columna del LisBox que lo contiene, partiendo que la primera columna tiene el Indice 0 y así sucesivamente. Un saludo >> Jacinto

1 respuesta más de otro experto

Respuesta
1

Vamos a suponer que el control página tiene las "solapas" Página1 y Página2. ¿Has probado a poner después del lo que hayas puesto en el evento Al hacer doble clic del cuadro de lista

Página2. Setfocus

¡Gracias! 

Intente hacer lo que me recomendaste pero no tube resultados

Si tengo el formulario

y hago doble clic sobre Austria u otro cualquiera

Se ha ido a la página 4, y el código que le he puesto es el que te indiqué arriba.( Bueno, en este caso es Página4. Setfocus)

¡Gracias! 

Tomemos tu ejemplo de pagina3 y pagona4, Lo que necesito es, en este caso no solo es ir a la pagina4 sino que tambien copiar el texto en este caso seria australia y pegarlo en el textbox que se encuentra en la pagina4

El ejemplo lo tome de este video y estoy siguiendo todos los pasos.

https://m.youtube.com/watch?v=-v_6_zS_4qg&list=PLBF45E1912AD9DABD&index=5 

Mario, la verdad es que no me gusta mirar los vídeos de otros, entre otras cosas porque la mayoría de las veces me parecen malos. Por otro lado, si me permites un consejo, hazlo como TÚ creas que debes hacerlo no como lo veas en otros, ya que éstos lo han hecho según sus necesidades, que no tienen porque parecerse a lo que necesitas. Dicho esto.

En un control de solapas de un formulario, los controles(cuadro de texto, combinados, etc) están todos en el mismo formulario independientemente de la página en la que estén. Por ejemplo, si en la página 1 está el cuadro de texto Pais y en la página 7 tienes un cuadro de texto Nación, para hacer referencia a éste último sólo tienes que nombrarlo, por lo que no necesitas para nada mover el foco. Por ejemplo, en el evento Después de actualizar del cuadro de texto Pais puedes poner

Nacion=Pais

Y en ese cuadro de texto Nacion te aparece el valor que hayas escrito en el cuadro de texto Pais.

Otra cosa sería que Nación estuviera dentro de un subformulario en la página 7. Entonces tendrías que hacer referencia al subformulario y dentro de éste al control que quieras, por ejemplo, en el mismo evento de antes

Deberías poner

me!nombredelsubform.form!nacion=Pais

De todas formas, si quieres, repito, si quieres, mándame un mensaje(sólo el mensaje) a [email protected] y te mando un par de ejemplos de como lo haría, creo que más sencillo. Si lo haces, en el asunto del mensaje pon tu alias Mario Xar, ya que si no sé quien me escribe ni los abro.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas