** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Cambiar tamaño subform desde el mismo subform
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoCambiar tamaño subform desde el mismo subform

 Responder Responder
Autor
Mensaje
Nomada Ver desplegable
Colaborador
Colaborador


Unido: 03/Julio/2011
Localización: España
Estado: Sin conexión
Puntos: 1719
Enlace directo a este mensaje Tema: Cambiar tamaño subform desde el mismo subform
    Enviado: 28/Febrero/2021 a las 13:50
Buenas.
Tengo un formulario con las dimensiones: DoCmd.MoveSize 17600, 600, 10400, 14800
En este formulario hay un subformulario con un botón, el cual deseo cambie el tamaño del subformulario. Con el siguiente código, cambia el tamaño del formulario para hacerlo más ancho:
DoCmd.MoveSize 9900, 600, 18800, 14800

y el código para el subformulario:
Me.Subformulario.Width = 16200

pero solo hace más ancho el formulario y no cambia el subformulario.

Alguna sugerencia? Gracias.


Editado por Nomada - 28/Febrero/2021 a las 13:52
Arriba
Nomada Ver desplegable
Colaborador
Colaborador


Unido: 03/Julio/2011
Localización: España
Estado: Sin conexión
Puntos: 1719
Enlace directo a este mensaje Enviado: 28/Febrero/2021 a las 14:34
El siguiente código desde un botón fuera del subformulario funciona perfectamente:
DoCmd.MoveSize 9900, 600, 18800, 14800
Me.SubFormulario.Width = 16600

He probado también con la propiedad InsideWidth, pero no hace nada
Arriba
xavi Ver desplegable
Administrador
Administrador
Avatar
Terrassa-BCN

Unido: 10/Mayo/2005
Localización: Catalunya ||||
Estado: Sin conexión
Puntos: 14720
Enlace directo a este mensaje Enviado: 28/Febrero/2021 a las 16:45
No se si te acabo de entender...

Ejecutando el código en el subformulario, ¿Quieres cambiar tanto el tamaño del subformulario como del formulario?

Si es así, yo empezaría por utilizar la propiedades Width y Height del formulario principal. 

Me.Parent.Width = ....

Y después cambiaría el tamaño del control subformulario

Me.Parent.ControlSubformulario. Width = ...

Si fuera necesario ya cambiaria la medida del formulario contenido en el subformulario
Xavi, un minyó de Terrassa

Mi web
Arriba
Nomada Ver desplegable
Colaborador
Colaborador


Unido: 03/Julio/2011
Localización: España
Estado: Sin conexión
Puntos: 1719
Enlace directo a este mensaje Enviado: 28/Febrero/2021 a las 17:00
Veamos.
El botón está dentro del subformulario. Como deseo hacer más ancho el subformulario (el cual sería más ancho que el formulario), primero ensancho el formulario:
Me.Parent.Width = xxx
y a continuación ensancho el subformulario:
Me.Parent.Subform.Width = xxx

no hace nada
Arriba
xavi Ver desplegable
Administrador
Administrador
Avatar
Terrassa-BCN

Unido: 10/Mayo/2005
Localización: Catalunya ||||
Estado: Sin conexión
Puntos: 14720
Enlace directo a este mensaje Enviado: 28/Febrero/2021 a las 17:28
Efectivamente, hay una parte que no acaba de funcionar.

Prueba esto:
- redimensiona el control subformulario
- manda el foco al formulario parent
- Utiliza MoveSize

A mi me ha funcionado.
Xavi, un minyó de Terrassa

Mi web
Arriba
Nomada Ver desplegable
Colaborador
Colaborador


Unido: 03/Julio/2011
Localización: España
Estado: Sin conexión
Puntos: 1719
Enlace directo a este mensaje Enviado: 28/Febrero/2021 a las 17:49
Perdona. No entiendo lo de "redimensiona"
Arriba
xavi Ver desplegable
Administrador
Administrador
Avatar
Terrassa-BCN

Unido: 10/Mayo/2005
Localización: Catalunya ||||
Estado: Sin conexión
Puntos: 14720
Enlace directo a este mensaje Enviado: 28/Febrero/2021 a las 17:53
redimensiona = cambiar dimensiones = cambiar tamaño

Como prueba, haz esto en el botón (recuerda cambiar ControlSubform por el nombre del control):
    
    Me.Parent!ControlSubform.Width = Me.Parent!ControlSubform.Width *1.1
    Me.Parent.Setfocus
    DoCmd.MoveSize , , Me.Parent.Width * 1.1


Xavi, un minyó de Terrassa

Mi web
Arriba
Nomada Ver desplegable
Colaborador
Colaborador


Unido: 03/Julio/2011
Localización: España
Estado: Sin conexión
Puntos: 1719
Enlace directo a este mensaje Enviado: 28/Febrero/2021 a las 18:15
Perfecto.
Pero, que significa ...* 1.1?
Arriba
xavi Ver desplegable
Administrador
Administrador
Avatar
Terrassa-BCN

Unido: 10/Mayo/2005
Localización: Catalunya ||||
Estado: Sin conexión
Puntos: 14720
Enlace directo a este mensaje Enviado: 28/Febrero/2021 a las 18:19
Es una prueba: simplemente he aumentado un 10% la anchura del control y el subformulario para ver si funcionaba. Ahora te toca determinar cual es el valor que deberás aplicar a la anchura de ambos objetos. Por cierto, recuerda que las medidas son en TWIPS lo que implica que calcular la anchura sabiendo que 1 CENTIMENTRO = 567 TWIPS
Xavi, un minyó de Terrassa

Mi web
Arriba
Nomada Ver desplegable
Colaborador
Colaborador


Unido: 03/Julio/2011
Localización: España
Estado: Sin conexión
Puntos: 1719
Enlace directo a este mensaje Enviado: 28/Febrero/2021 a las 18:29
Muchas gracias Xavi.
Este hilo se puede cerrar satisfactoriamente.
Saludos.
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable