Ocultar selectores de registro en subformulario access

Estoy tratando de ocultar los selectores de registro de un subformulario en el evento al abrir del formulario principal, pero me arroja error "no encuentra el formulario", ya he probado varios métodos y ninguno funciona.

El código que uso es el siguiente, en donde el formulario principal se llama pedidos y el subformulario referencias

Forms("Pedidos!Referencias").RecordSelectors = False

3 respuestas

Respuesta
2

Para hacer referencia a una propiedad de un subformulario (que para Access es un objeto del formulario principal y no lo reconoce como formulario), hay que 'decirle' a Access que el trate al objeto como formulario.

La sintaxis se puede aplicar tanto en forma absoluta como relativa:

Absoluta:
Forms.[nombre-del-formulario-principal].[nombre-del-objeto].FORM.[nombre de la propiedad]

Relativa:
ME..[nombre-del-objeto].FORM.[nombre de la propiedad]

Solo has de utilizar la sintaxis correcta (y entender la causa).

Access solo considera 'FORMULARIOS' a los que se abren como principales, si se utilizan dentro de 'otro objeto' son 'objetos' del formulario que los contiene: el principal (independiente del tipo de objeto).

Para que reconozca y maneje un 'objeto subformulario' (esto es: un objeto que tiene esas propiedades y a su vez puede contener objetos) hay que indicárselo y para eso utiliza el singular (Form o Formulario) según donde se utilice.

Esta sintaxis es incorrecta:
Forms("Pedidos!Referencias").RecordSelectors = False

Esta seria una demo de la correcta (reutilizando la expresión original):
Forms.Pedidos!Referencias.FORM.RecordSelectors = False
Y así para asignar un valor a uno de sus cuadros de texto (de nombre ABC):
Varios delimitadores ==>> Forms.Pedidos!Referencias.FORM.ABC= False
Con delimitador (!) ==>> Forms!Pedidos!Referencias!FORM!ABC= False
Con delimitador (.) ==>> Forms.Pedidos.Referencias.FORM.ABC= False

Respuesta
2

Pruebe con este código

Private Sub Form_Load()
   Me.Referencias.Form.RecordSelectors = False
End Sub

Respuesta
1

I. Pd, perdón, tardé mucho y no vi la respuesta previa del experto Enrique Feijóo.

¡Gracias! Por tu ayuda. Sin embargo necesito hacerlo por vba ya que los selectores hacen una acción y esta no debe estar disponible hasta que se cumpla una condición previa

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas