Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Formular - Grösse ändern

339 views
Skip to first unread message

Gina Meyer

unread,
Jan 26, 2006, 9:22:34 AM1/26/06
to
Hallo.

Kann man die Höhe (InsideHeight ?) und Breite von einem Formular ändern,
wenn es von einem bestimmten Button in Form frmMenu aus mit DoCmd.OpenForm
"frmMyForm" aufgerufen wird ?

Auf die ursprüngliche Höhe und Breite zurücksetzen geht mit:
***
Private Sub Form_Unload(Cancel As Integer)
Me.InsideWidth = 8850
Me.InsideHeight = 4185
End Sub
***

Das verändern der Grösse klappt leider nicht mit :
***
Private Sub Option1_Click()

frmMyForm.Detailbereich.Height = 8445
frmMyForm.Width = 10905

DoCmd.OpenForm "frmMyForm"

'Width 8850 Original
'Height 4185 Original
'Height 8445 Soll
'Width 10905 Soll

End Sub
***

Danke
Gina

Gunter Avenius

unread,
Jan 26, 2006, 9:42:39 AM1/26/06
to
Hallo Gina,

Gina Meyer schrieb folgendes:

Probier es so:

DoCmd.OpenForm "frmMyForm"
forms("frmMyForm").Detailbereich.Height = 8445
forms("frmMyForm").Width = 10905


--
Gruß
Gunter
_________________________________________________
Access FAQ: http://www.donkarl.com
home: http://www.avenius.com

Gina Meyer

unread,
Jan 26, 2006, 2:52:12 PM1/26/06
to
Hallo Gunter !

danke Dir für Deine Antwort .....
hat aber leider au nicht so hingehauen .... daß es ne andere Grösse ist ...
weiß au nich was ich falsch mache ..
hab mich jetzt halt doch dazu entschlossen einfach eine zweite Form mit der
selben Abfrage zu machen in der gewünschten Grösse

Gruß Gina


"Gunter Avenius" <NOS...@avenius.net> schrieb im Newsbeitrag
news:43s5h7F...@individual.net...

Michael W. Welling

unread,
Jan 26, 2006, 3:20:51 PM1/26/06
to
Hallo Gina,

>
> Kann man die Höhe (InsideHeight ?) und Breite von einem
> Formular ändern,
> wenn es von einem bestimmten Button in Form frmMenu aus
> mit DoCmd.OpenForm
> "frmMyForm" aufgerufen wird ?
>
> Auf die ursprüngliche Höhe und Breite zurücksetzen geht
> mit:
> ***
> Private Sub Form_Unload(Cancel As Integer)
> Me.InsideWidth = 8850
> Me.InsideHeight = 4185
> End Sub
> ***

das verstehe ich jetzt nicht, du hast die Lösung doch
bereits:

> Das verändern der Grösse klappt leider nicht mit :

> Private Sub Option1_Click()
>
> frmMyForm.Detailbereich.Height = 8445
> frmMyForm.Width = 10905
>
> DoCmd.OpenForm "frmMyForm"
>
> 'Width 8850 Original
> 'Height 4185 Original
> 'Height 8445 Soll
> 'Width 10905 Soll
>
> End Sub

Ist das Formular jetzt bereits offen, oder nicht?
(frmMyForm)
- Wenn es noch geschlossen ist, kann man nicht die Höhe und
Breite einstellen, bevor man es öffnet
(Eventuell unsichtbar öffnen, Höhe Breite einstellen und
sichtbar machen.)
- Wenn es bereits offen ist, braucht man keinen DoCmd-Befehl
mehr.

sonst:
frmMyForm.InsideHeight = 8445
frmMyForm.InsideWidth = 10905
frmMyForm.Section(acDetail).Height = frmMyForm.InsideHeight

Vorausgesetzt es gibt keine Seiten- und
Formular-Kopf/Fuß-Bereiche mit "Height" > 0, sonst sollte
man den letzten Befehl nochmal anpassen.
Außderm gehe ich davon aus, dass frmMyForm auch einen
gültigen Wert hat.


Gruß
Michael

>
>


Gina Meyer

unread,
Jan 27, 2006, 8:17:54 AM1/27/06
to
Michael, Hallo ....

tja ... irgendwie dacht ich des auch ....
ist aber jetzt hinfällig, da ich dann sowieso die Controls (Top, Left) per
Code noch hätte ändern müssen.

Hab auch wieder neue Probleme mit der Grössensache bzw. das Formular zu
zentrieren in Höhe und Breite.

Ich weiss - und habs au schon verschiedentlich gemacht, dass man das ganz
einfach berechnen kann
Form.Left = Screen.Width - Form.Width/2
Form.Top = Screen.Height - Form.Height/2

Meine Forms sind nicht maximiert und ich frage mich nun, was die
entsprechende Syntax hier im VBA ist ?!
Was hab ich da nicht verstanden ??? :-o

Arbeite mit Access 2000.

Danke im voraus für Eure Hilfe.
Gina

"Michael W. Welling" <werbung...@hotmail.com> schrieb im Newsbeitrag
news:drbav3$6c3$03$1...@news.t-online.com...

Michael W. Welling

unread,
Jan 27, 2006, 1:11:00 PM1/27/06
to
Hallo Gina,

>
> tja ... irgendwie dacht ich des auch ....
> ist aber jetzt hinfällig, da ich dann sowieso die Controls
> (Top, Left) per
> Code noch hätte ändern müssen.

tja, das muss man! Allerdings gibt ja dafür das
Resize-Ereignis in Formular.
Das ist dann auch gar nicht so schwer.

> Hab auch wieder neue Probleme mit der Grössensache bzw.
> das Formular zu
> zentrieren in Höhe und Breite.

Das Formular hat eine eingestellte Höhe und Breite, wenn du
es zentriert öffnest , dass orientiert sich die Zentrierung
an diesen Einstellungen. Wenn man dann das Formular per VBA
vergrößert/verkleinert muss man die Zentrierung ebenfalls
korrigierten.

> Ich weiss - und habs au schon verschiedentlich gemacht,
> dass man das ganz
> einfach berechnen kann
> Form.Left = Screen.Width - Form.Width/2
> Form.Top = Screen.Height - Form.Height/2

> Meine Forms sind nicht maximiert und ich frage mich nun,
> was die
> entsprechende Syntax hier im VBA ist ?!
> Was hab ich da nicht verstanden ??? :-o

Kann es sein, dass es "Screen.Width" in Access-VBA nicht
gibt. Ich habe es nie mehr ausprobiert.

Nach meinem Wissen, hilft das moderat nur eine API-Funktion
(alles andere ist murks).
Ich habe da mal was geschrieben zu :
http://www.mwelling.de/Publication/index.html unter 05/2001
Alternatives Fensterhandling findest du die Beispieldatei.


Gruß
Michael

Gina Meyer

unread,
Jan 30, 2006, 4:18:49 AM1/30/06
to
Hallo Michael,

Guten Morgen erst mal und danke für Deine Antwort ... dass es keine
screen.width gibt in vba ist natürlich etwas befremdlich .... aber seit ich
das Projekt hier angefangen habe, hab ich ja so manche Überraschung erleben
müssen .....

Hast mir sehr geholfen - okay ... gibt halt nicht diese Formel zum
autocentern .... gibt kein top und left mit Form ... here we go

Gruß,
Gina


"Michael W. Welling" <werbung...@hotmail.com> schrieb im Newsbeitrag

news:drdnni$vm8$00$1...@news.t-online.com...

0 new messages