Poner el foco en campo de subformulario

Después de agotar todas las posibilidades recurro a uds. Con la esperanza de resolver mi problema que es el siguiente:
Tengo un formulario con un subformulario que hace de control (frmEntrada). En el subformualario, se abren los formularios según las distintas opciones que aparecen en este formulario control o principal, con el evento click, poniendo sourceobject= frmX . El problema es, que cuando direcciono Forms! FrmEntrada. Subform. Form. Campo donde deseo que aparezca el foco no lo hace.
He provado Forms!frmEntrada.subform.Form.frmX.Form.campo y da error
Forms!frmEntrada.subform.Form.frmX.campo también da error

1 respuesta

Respuesta
1
Primero manda el foco al control subformulario y después, al control. Es decir:
 Forms!frmEntrada.subform.Form.Setfocus
 Forms!frmEntrada.subform.Form.frmX.Form.campo.SetFocus
Antes de nada, gracias por tu atención y pronta respuesta.
Me olvidé decir que ya había probado poniendo el foco en el subform -Forms!frmEntrada.subform. Form.SetFocus- y que da un mensaje "Hay un método no válido en una expresión".
Si la instrucción la pongo -Forms!frmEntrada.subform.SetFocus- la instrucción pasa, pero al ejecutar la siguiente -Forms!frmEntrada.subform. Form.frmX. Form. Campo.SetFocus- aparece el mensaje "error definido por la aplicación o el objeto"
He probado de todas formas pero no se de donde provienen ni el error ni el que no se pueda situar el foco en el campo indicado.
Si tienes alguna otra solución te lo agradecería
Un saludo
Eso me pasa por escribir deprisa...
Mira, es algo así:
Me! ElControlSubformulario. SetFocus ' sin indicar que es un formulario
y después el control del subformulario. Entre otras muchas sintaxis posibles te dejo esta:
Me.Controls("ElControlSubformulario").Form.Controls("ElControlAEnfocar").Setfocus
Gracias de nuevo por estar ahí. He visto muchas de tus soluciones en esta misma página y considero que eres un gran experto, por eso se que la culpa de que esto no funcione es mía.
Es cierto que ahora no da ningún mensaje de error pero el cursor no aparece. Para que el cursor aparezca en el campo solicitado es necesario hacer click en el formulario o en el control.
También he constatado que si en el evento click, pongo una interrupción, al continuar, el cursor sale en el control solicitado.
Private Sub lbl07_Click()
'Stop
    Etiqueta53.Caption = "Modificación artículos"
    subform.SourceObject = "frmElegirProveedor"
   Me!subform.SetFocus
   Me.Controls("subform").Form.Controls("proveedor").SetFocus
End Sub
Espero que puedas ver donde está mi error
Gracias
Pues la verdad es que no lo se ver...
Te recomiendo que te pases por http://www.mvp-access.com/foro y plantees la pregunta. Allí somos muchos más a responder y ya sabes que 4 ojos ven más que 2...
Te agradezco el interés que te has tomado, creo que tu actuación es correcta y me agrada tu sinceridad.
Hasta otra
Un cordial saludo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas