Pergunta

Eu quero que o usuário seja capaz de alterar a altura do formulário na Vista de Formulário clicando no botão:

Private Sub btnChangeHeight_Click()

    booTall = Not booTall

    If booTall Then
        lngHeight = 12400   ' (twips)
    Else
        lngHeight = 1200
    End If

    Me.Detail.Height = lngHeight
    Me.Repaint

    Debug.Print Me.Detail.Height

End Sub

Altera a altura -- Debug.Print diz que sim, e uma barra de rolagem vertical aparece quando booTall é True. Mas a forma não muda sua dimensão vertical da tela.

Eu também tentei, sem sucesso (certificando-se de meu botão estava no cabeçalho do Formulário):

    Me.Detail.Visible = booTall

A solução parece depender de propriedades para o Formulário e seção de Detalhe do Formulário: Redimensionável, Auto Altura, talvez Pode Crescer, etc.Mas eu manipuladas com aqueles e nada funciona.

Eu entendo a sobreposição de controles e outras coisas que podem impedir ajustes de altura, para que eu tenha reduzido o formulário para um mínimo de layout.Estou usando a versão do Access 2007/2010.

Algumas informações adicionais: O que eu realmente estou trabalhando direção é de dois subformulários, (A) acima e (B) abaixo, o que pode, independentemente de ser recolhido fora de vista ou expandido.Esta é uma decisão tomada de forma, com um MONTE de dados.Eu pensei que se eu desabou na altura do (A) ou (B), o CanShrink propriedade de Detail poderia causar a forma geral dimensão para a mudança.Na verdade, eu acho que eu fiz isso há alguns anos usando o Access 2003.Como para a utilização de Maximizar ...estamos configurando desta forma, re-utilizável, de múltiplas instâncias pode abrir.

Foi útil?

Solução

"...alterar a altura do formulário na Vista de Formulário clicando em um botão de"

Utilize o formulário .Move método para alterar o tamanho do formulário.Este exemplo alterna o meu formulário de altura entre 4044 e 8000 twips.

Private Sub btnChangeHeight_Click()
    Dim lngHeight As Long

    If Me.WindowHeight = 4044 Then
        lngHeight = 8000
    Else
        lngHeight = 4044
    End If
    Me.Move Me.WindowLeft, Height:=lngHeight
End Sub

Outras dicas

Eu tive um problema semelhante e descobriu que, mesmo que eu escondi os campos (controles) eu não quero ver o Detalhe altura não iria reduzir o suficiente.Eu encontrei quando eu me movia os controles eu queria esconder (de modo conjunto de ambos .E visível .Top propriedades), em seguida, Detalhe.Altura reduziria o que eu queria.É como se o mesmo Acesso oculto recusou-se a ignorar os controles ocultos

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top