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. Hola Fabián, por mi parte no soy usuario habitual de VBA ni de Excel, pero tengo interés en el ámbito y como a otras personas, quisiera trasladarle la información que vi sobre su consulta por si pudiese serle de alguna utilidad mientras le atiende un experto de primera mano. Le ruego me disculpe la imprecisión y molestias de lectura, ánimo.

https://www.forosdelweb.com/f90/quitar-barra-registros-subformulario-access-520602/ 

Mostrar u ocultar un control en subformulario continuo

https://www.youtube.com/watch?v=7lU9_iXF_kA 

https://www.lawebdelprogramador.com/foros/Access/447370-Selector-de-registro-en-subformularios.html 

https://www.lawebdelprogramador.com/foros/Access/1643678-Ocultar-registro-en-un-a-lista-de-registros-en-formulario.html 

Eliminar registro de un subformulario

Cómo ocultar y mostrar subformularios en un formulario en access dependiendo del valor de un campo

https://stackoverflow.com/questions/52255275/cant-hide-my-record-selectors-from-subform 

https://www.access-programmers.co.uk/forums/threads/removing-record-selector.16876/ 

https://es.stackoverflow.com/questions/293034/bot%C3%B3n-para-ocultar-subformulario-access 

http://www.mvp-access.com/foro/ocultar-subformulario-sin-datos_topic85011.html 

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