Ändern Sie die Größe des Formulars in MS Access, indem Sie Detail.Height ändern

StackOverflow https://stackoverflow.com//questions/22021802

  •  21-12-2019
  •  | 
  •  

Frage

Ich möchte, dass der Benutzer in der Formularansicht die Höhe des Formulars ändern kann, indem er auf eine Schaltfläche klickt:

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

Die Höhe ändert sich – Debug.Print sagt es, und eine vertikale Bildlaufleiste erscheint, wenn booTall Ist True. Aber das Formular ändert seine vertikale Dimension auf dem Bildschirm nicht.

Ich habe auch Folgendes versucht, ohne Erfolg (wobei ich darauf geachtet habe, dass sich meine Schaltfläche in der Kopfzeile des Formulars befindet):

    Me.Detail.Visible = booTall

Die Lösung scheint von den Eigenschaften für den Abschnitt „Formular“ und „Formulardetails“ abzuhängen: Der Größe veränderbar, Automatische Höhe, vielleicht Kann wachsen, usw.Aber ich habe damit herumgespielt und nichts funktioniert.

Mir ist bewusst, dass überlappende Steuerelemente und andere Dinge Höhenanpassungen verhindern können, daher habe ich das Formular auf ein minimales Layout reduziert.Ich verwende die Access-Version 2007/2010.

Einige zusätzliche Informationen: Worauf ich eigentlich hinarbeite, sind zwei Unterformulare, (A) oben und (B) unten, die unabhängig voneinander ausgeblendet oder erweitert werden können.Dies ist für ein Entscheidungsformular mit einer Menge Daten.Ich dachte, wenn ich die Höhe von (A) oder (B) zusammenfalte, würde das CanShrink Eigentum von Detail würde dazu führen, dass sich die gesamte Formdimension ändert.Tatsächlich glaube ich, dass ich das vor ein paar Jahren mit Access 2003 gemacht habe.Was die Verwendung von Maximize betrifft ...Wir richten dieses Formular als wiederverwendbar ein, es können mehrere Instanzen geöffnet werden.

War es hilfreich?

Lösung

„...Ändern Sie die Höhe des Formulars in der Formularansicht, indem Sie auf eine Schaltfläche klicken.

Nutzen Sie die Formulare .Move Methode, um die Größe des Formulars zu ändern.Dieses Beispiel schaltet die Höhe meines Formulars zwischen 4044 und 8000 Twips um.

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

Andere Tipps

Ich hatte ein ähnliches Problem und stellte fest, dass selbst wenn ich die Felder (Steuerelemente) ausblendete, die ich nicht sehen wollte, die Detailhöhe nicht ausreichend schrumpfte.Ich habe festgestellt, dass sich Detail.Height auf das von mir gewünschte Maß reduzieren würde, wenn ich die Steuerelemente verschob, die ich ausblenden wollte (also sowohl die Eigenschaften „.Visible“ als auch „.Top“ festlegte).Es ist, als ob selbst versteckter Access sich geweigert hätte, die versteckten Kontrollen zu ignorieren

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top