Como autocompletar una celda de un subformulario

Tengo un formulario llamado VISITAS y dentro de este un subformulario llamado CONTACTO.

En mii formulario VISITAS siempre se posiciona el cursor sobre la casilla FECHA. En el Subformulario CONTACTO tengo un campo llamado Cod_Vendedor y una casilla que quiero se me autorrellen con el Nom_Vendedor que depende de la Tabla NOM_VENDEDOR.

Que código debo de tener, para que en el evento “Al recibir el enfoque” de la celda Fecha, se autocomplete la casillas Nom_Vendedor del Subformulario CONTACTO.

1 Respuesta

Respuesta
2

Pues... el código será como el de esta respuesta: Como puedo auto rellenar un campo o muy parecido. La diferencia está en que tienes que hacer referencia al subformulario antes que al nombre del control (mira la web de Xavi para conocer todos los casos: http://www.llodax.com/Tutoriales/SintaxisSubForms.htm ):

Me.Contacto.Form.Nom_Vend=DLookUp("Nom_Vend","NombreTabla","Cod_Vend='" & Me.Contacto.Form.Cod_Vend & "'")

He introducido este código en el evento "Al recibir el enfoque" de la casilla FECHA:

Private Sub fecha_visita_GotFocus()
Me![008 008 SBF C Ruta (Ficha Visitas].From!Me.nom_vendedor = DLookup("nom_vendedor", "[555 001 Nom_Vendedor]", "cod_vendedor='" & Me.cod_vendedor & "'")
End Sub

End Sub

Me da el siguiente error:

Error de compilación

No se encontró el método o el dato miembro.

Me sale reseñado el ultimo "cod_vendedor" como te resalto en el código que te mando.

Fíjate bien en el código de mi respuesta y el que estás poniendo tu, tienes 2 errores de sintaxis, uno antes del = y otro en lo que marcas en negrita.

A ver si los ves

El SubFormulario se llama: [008 008 SBF C Ruta (Ficha Visitas] en este están los siguientes campos: "cod_vendedor", "nom_vendedor", "ruta", "codpostal" y "potencial".

La Tabla se llama "555 001 Nom_Vendedor" en esta estan los campos "cod_cliente", "cod_vendedor" y "nom_vendedor"

El campo que tiene que auto rellenarse es "nom_vendedor"

He puesto este código y sigue dando error:

Me.[008 008 SBF C Ruta (Ficha Visitas].From.nom_vendedor = DLookup("nom_vendedor", "[555 001 Nom_Vendedor]", "cod_vendedor='" & Me.[008 008 SBF C Ruta (Ficha Visitas].From.cod_vendedor & "'")

¿Pones From o Form? Porque lo correcto es Form....

Este es el código que he puesto y se me merca todo en amarillo:

Me.[008 008 SBF C Ruta(Ficha Visitas].Form.nom_vendedor = DLookup("nom_vendedor", "[555 001 Nom_Vendedor]", "cod_vendedor='" & Me.[008 008 SBF C Ruta(Ficha Visitas].Form.cod_vendedor & "'")

La verdad no entiendo esto. Puedes revisarme este código.

A nivel de sintaxis el código (siendo cod_vendedor de tipo texto) es correcto.

Como no sé el tipo de error que te está dando, supondré que tienes mal alguno de los nombres, probablemente el del subformulario: una cosa es como se llama el subformulario en si (el nombre que ves en el panel de navegación) y otra como se llama el control subformulairo, que es el control del formulario que dentro tiene al subformulario. Éste es el que tienes que usar en el código.

He abierto el Formulario Visitas, abro la ventana propiedades y selecciono el subformulario. En propiedades esta:

Nombre: Subformulario 008 008 C Ruta (Ficha Visitas)

Objeto origen: 008 008 SBF C Ruta (Ficha Visitas)

Pues el que tienes que usar es el primero:

Me.[Subformulario 008 008 C Ruta (Ficha Visitas)].Form.nom_vendedor=...

Además, has de fijarte en poner los nombres enteros, porque en todos los códigos que pegaste, te comes el último ")"

Sin ver el archivo, no te puedo decir nada más, salvo: intenta usar nombres de objetos más sencillos.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas