Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Fenstergröße von Access
zurück: Einfache Abfrage weiter: Optionsfeld Bug Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Feedback Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
Helga B.
Gast


Verfasst am:
09. März 2006, 11:43
Rufname:

Fenstergröße von Access - Fenstergröße von Access

Nach oben
       

XP

Hallo,

mit "DoCmd.maximize" kann ich ein Formular an die Größe des umgebenden Access-Fensters anpassen. Wie kann ich die Größe des Access-Fensters per VBA festlegen bzw. ändern?

Danke!
blicki
Es wird langsam besser...


Verfasst am:
09. März 2006, 19:07
Rufname: Martin
Wohnort: Meerbusch


AW: Fenstergröße von Access - AW: Fenstergröße von Access

Nach oben
       

Mit dem Befehl:
Code:
    DoCmd.MoveSize xpos, ypos, länge, höhe

Wenn das nicht klappt les mal die OH zu diesem Befehl.

_________________
Gruß Martin
Ein paar gesammelte Werke habe ich in der Beispiele.mdb,die ihr auf meiner HP findet, zusammengefasst.
Helga B.
Gast


Verfasst am:
13. März 2006, 08:50
Rufname:

AW: Fenstergröße von Access - AW: Fenstergröße von Access

Nach oben
       

Hallo blicki,

mit dem "MoveSize" kann ich die Formulargröße verändern - innerhalb der Grenzen des Access-Fensters. Was ich will, ich aber das Access-Fenster selbst in Größe und Position zu verändern.

Weitere Tipps?

Gruß
Helga
blicki
Es wird langsam besser...


Verfasst am:
13. März 2006, 21:34
Rufname: Martin
Wohnort: Meerbusch

AW: Fenstergröße von Access - AW: Fenstergröße von Access

Nach oben
       

Dann müssen da mal Profis ran, das weiss ich auch nicht.
Sorry, aber trotzdem viel Erfolg.

_________________
Gruß Martin
Ein paar gesammelte Werke habe ich in der Beispiele.mdb,die ihr auf meiner HP findet, zusammengefasst.
lothi
c#, .Net


Verfasst am:
13. März 2006, 22:13
Rufname:
Wohnort: Birgisch


AW: Fenstergröße von Access - AW: Fenstergröße von Access

Nach oben
       

Hallo

Ich glaube das geht nur mit API
Code:
Option Compare Database
Option Explicit

Public Type Rect
    Links As Long
    Oben As Long
    Rechts As Long
    Unten As Long
End Type
 
Public Declare Function GetDesktopWindow Lib "user32" () As Long
Public Declare Function GetClientRect Lib "user32" (ByVal hwnd As Long, _
                                                    lpRect As Rect) As Long
Public Declare Function MoveWindow Lib "user32" _
    (ByVal hwnd As Long, ByVal X As Long, ByVal y As Long, _
     ByVal nWidth As Long, ByVal nHeight As Long, ByVal bRepaint As Long) _
    As Long
 
Public Function AppAnpassen(Breite As Long, Hoehe As Long)
    Dim i As Long
    Dim w As Long
    Dim h As Long
    Dim R As Rect
 
    Call GetClientRect(GetDesktopWindow, R)
    h = R.Unten - R.Oben
    w = R.Rechts - R.Links
    If w > Breite And h > Hoehe Then
        i = MoveWindow(hWndAccessApp, Int((w - Breite) / 2), _
                       Int((h - Hoehe) / 2), Breite, Hoehe, True)
    End If
End Function
Diesen Code in ein Allgemeines Modul.
Aufruf:
Code:
    AppAnpassen 1200, 800

_________________
Gruss Lothi, der Bastler
Feedback ist die beste Möglichkeit mir zu sagen ob die Antwort geholfen hat!
AC2002, WinXP, Office XP


Zuletzt bearbeitet von lothi am 14. März 2006, 09:36, insgesamt einmal bearbeitet
Gast



Verfasst am:
14. März 2006, 09:24
Rufname:

AW: Fenstergröße von Access - AW: Fenstergröße von Access

Nach oben
       

Hallo Lothi,

vielen Dank, damit kann ich die Größe wunschgemäß ändern.

Vielen Dank!
Helga

PS: Kleiner Hinweis, für die dies auch benutzen wollen: die Kommas bei der Variablendeklaration in der function AppAnpassen weglassen. Und zum Aufruf: nicht als Procedur-Aufruf sondern irgend einer Variablen zuweisen, z.B.
Code:
    a = AppAnpassen(1200, 800)
lothi
c#, .Net


Verfasst am:
14. März 2006, 09:41
Rufname:
Wohnort: Birgisch

AW: Fenstergröße von Access - AW: Fenstergröße von Access

Nach oben
       

Hallo Helga

Das mit den Komma habe ich angepasst.

Das mit der Variablen stimmt so nicht ganz. Die Funktion hat keinen Rückgabewert.
Wenn du sie ohen Variable einsetzten willst musst du die Klammern weglassen.

_________________
Gruss Lothi, der Bastler
Feedback ist die beste Möglichkeit mir zu sagen ob die Antwort geholfen hat!
AC2002, WinXP, Office XP
Rhett
Syntax-Sucher


Verfasst am:
09. Jun 2007, 02:42
Rufname:
Wohnort: z.Zt. Bayern/Flughafen München

AW: Fenstergröße von Access - AW: Fenstergröße von Access

Nach oben
       Version: Office 2k (2000)

Das sind ja großartige Möglichkeiten!

Damit ist es sicher auch möglich, daß man nur die Breite, nicht aber die Höhe einstellt, oder? Ich möchte dem Benutzer erlauben, daß er die Fensterhöhe ändert oder das ganze Fenster verschiebt, aber nicht die Breite verändern kann.
Und optimal wäre es, wenn das auch nach Minimieren/Maximieren fest eingestellt bleiben könnte. (Wenn ich allerdings aus dem obigen Code die Teile herausnehme, die mir dafür relevant erscheinen, kommen nur Fehlermeldungen.)

Kann das freundlicherweise noch jemand hinzufügen?

Danke,
Rhett
Nouba
nicht ganz unwissend :)


Verfasst am:
09. Jun 2007, 04:14
Rufname:
Wohnort: Berlin

AW: Fenstergröße von Access - AW: Fenstergröße von Access

Nach oben
       

Hallo Rhett,

als Ansatz (Quick & Dirty - ohne großartige Testerei) könntest Du diesen Kode in einem globalen Modul einsetzen.

Code:
Option Explicit

Private Type RECT
  Left As Long
  Top As Long
  Right As Long
  Bottom As Long
End Type

Private Const SPI_GETWORKAREA As Long = 48

Private Declare Function GetWindowRect Lib "user32.dll" ( _
  ByVal hwnd As Long, _
  ByRef lpRect As RECT) As Long
Private Declare Function IsIconic Lib "user32.dll" ( _
  ByVal hwnd As Long) As Long
Private Declare Function IsZoomed Lib "user32.dll" ( _
  ByVal hwnd As Long) As Long
Private Declare Function MoveWindow Lib "user32.dll" ( _
  ByVal hwnd As Long, _
  ByVal x As Long, _
  ByVal y As Long, _
  ByVal nWidth As Long, _
  ByVal nHeight As Long, _
  ByVal bRepaint As Long) As Long
Private Declare Function SystemParametersInfo Lib "user32.dll" Alias "SystemParametersInfoA" ( _
  ByVal uAction As Long, _
  ByVal uParam As Long, _
  ByRef lpvParam As Any, _
  ByVal fuWinIni As Long) As Long
Private Declare Function SetTimer Lib "user32.dll" ( _
  ByVal hwnd As Long, _
  ByVal nIDEvent As Long, _
  ByVal uElapse As Long, _
  ByVal lpTimerFunc As Long) As Long
Private Declare Function KillTimer Lib "user32.dll" ( _
  ByVal hwnd As Long, _
  ByVal nIDEvent As Long) As Long

Private m_lngWidth As Long   'Accessfensterbreite hier merken
Private m_lngIDEvent As Long 'Event-Id des Timers

Function Startup() 'im Autoexec-Makro aufrufen
  Dim r As RECT
  Dim lngRes As Long
 
  On Error Resume Next
  lngRes = SystemParametersInfo(SPI_GETWORKAREA, 0, r, 0)
  If lngRes Then
    'Desktopbreite ermitteln
    m_lngWidth = r.Right - r.Left 'r.Right reicht auch, weil r.Left immer 0 ist
  End If
  RunTimer 100 'Timer laufen lassen - vielleicht belasten höhere Werte die Anwendung weniger
End Function

Sub RunTimer(MilliSeconds As Long)
  On Error Resume Next
  m_lngIDEvent = SetTimer(0, 0, MilliSeconds, AddressOf TimerProc)
End Sub

Sub StopTimer()
  On Error Resume Next
  KillTimer 0, m_lngIDEvent
End Sub

Private Sub TimerProc(ByVal hwnd As Long, ByVal uMsg As Long, ByVal nIDEvent As Long, ByVal dwTimer As Long)
  'immer wieder die Prüfung aufrufen
  Call CheckAppDimension
End Sub

Sub CheckAppDimension()
  Dim r As RECT
 
  On Error Resume Next
  'wenn das Accessfenster normal dargestellt wird
  If Not CBool(IsIconic(hWndAccessApp)) And Not CBool(IsZoomed(hWndAccessApp)) Then
    GetWindowRect hWndAccessApp, r 'Außenmaße des Accessfensters ermitteln
    'wenn beliebig verschoben werden darf, den Teil 'Or r.Left <> 0' abzwacken
    If r.Right - r.Left <> m_lngWidth Or r.Left <> 0 Then
      'Fensterbreite fixieren
      MoveWindow hWndAccessApp, 0, r.Top, m_lngWidth, r.Bottom - r.Top, 1
    End If
  End If
End Sub

_________________
mit freundlichen Grüssen Nouba

Wenn beim Lesen eines Beitrags der Eindruck entsteht, dass sich der Fragesteller wenig Mühe gegeben hat, so erhöht das nicht unbedingt die Motivation, eine Antwort zu verfassen.
Rhett
Syntax-Sucher


Verfasst am:
09. Jun 2007, 23:35
Rufname:
Wohnort: z.Zt. Bayern/Flughafen München

AW: Fenstergröße von Access - AW: Fenstergröße von Access

Nach oben
       Version: Office 2k (2000)

Hallo Nouba,
das ist ja Wahnsinn! Danke schön!!

Ich habe nur, um das beliebige Verschieben zu erlauben, in der letzten Zeile die 0 (Null) durch R.Left ersetzt.

Allerdings ... ständig den Timer laufen zu lassen, finde ich nicht soo toll. Zumal der Benutzer noch immer versuchen kann, die Größe zu verändern und dann sieht, wie das Fenster zurückgesetzt wird. Mit dem Code von Lothi ist diese Möglichkeit zumindest solange gesperrt, wie man nicht die Schaltflächen Minimieren oder Maximieren betätigt hat ... - Wodurch hat er das erreicht ????

Wenn wir schon so tief in's Windows-System eindringen, kann man dann nicht auch einstellen, daß Minimieren und Maximieren nicht möglich sind? (bzw. in meinem Fall darf Minimieren und Höhe verändern möglich sein, aber nicht Maximieren oder Breite verändern.)

...
Nouba
nicht ganz unwissend :)


Verfasst am:
10. Jun 2007, 03:53
Rufname:
Wohnort: Berlin

AW: Fenstergröße von Access - AW: Fenstergröße von Access

Nach oben
       

Hallo Rhett,

ohne externe Hilfsmittel dürfte das Vorhaben ohne Timer kaum umsetzbar sein. Wenn Du tiefer in die Materie Subclassing einsteigen willst, dürfte Steve McMahons vbAccelerator viele Informationen und auch eine entsprechende DLL (SSubTimer) dafür bereitstellen.

_________________
mit freundlichen Grüssen Nouba

Wenn beim Lesen eines Beitrags der Eindruck entsteht, dass sich der Fragesteller wenig Mühe gegeben hat, so erhöht das nicht unbedingt die Motivation, eine Antwort zu verfassen.
Rhett
Syntax-Sucher


Verfasst am:
11. Jun 2007, 02:35
Rufname:
Wohnort: z.Zt. Bayern/Flughafen München

AW: Fenstergröße von Access - AW: Fenstergröße von Access

Nach oben
       Version: Office 2k (2000)

Hallo Nouba,
nee, tiefer will ich in diese Materie nicht einsteigen; vorläufig reicht es mir, dank Deiner (u.a.) Tipps mit Access halbwegs klarzukommen. Wenn Du sagst, daß es anders praktisch nicht geht, glaube ich das einfach und geb mich zufrieden Smile.

Nochmals vielen vielen Dank für die viele Zeit, die Du Dir für dieses Forum nimmst, um alle möglichen nächtlichen Anfragen oft schon am Morgen mit einer Antwort oder Lösung zu versorgen!

Gruß
Rhett
Gabriele1
absolut Newbie


Verfasst am:
28. Sep 2007, 14:28
Rufname:

AW: Fenstergröße von Access - AW: Fenstergröße von Access

Nach oben
       Version: Office 2003

Hi,

wo schreibt man denn den Aufruf hin?
Code:
    AppAnpassen 1200, 800
Vielen Dank schon mal.
_________________
Liebe Grüße
Gabriele
steffen0815
VBA-Programmierer


Verfasst am:
28. Sep 2007, 14:41
Rufname:

AW: Fenstergröße von Access - AW: Fenstergröße von Access

Nach oben
       

Hallo Gabriele,
an die Stelle, wo es eingestellt werden soll Wink

Ich nehme mal an du hast ein Startformular, dort könntest du den Aufruf beim Ereignis "Laden" eintragen.

_________________
Gruß Steffen
Gabriele1
absolut Newbie


Verfasst am:
28. Sep 2007, 15:16
Rufname:


Re: AW: Fenstergröße von Access - Re: AW: Fenstergröße von Access

Nach oben
       

Hallo Steffen,

vielen Dank für Deine Antwort!

Eigentlich irgendwie logisch, wenn man nur genug überlegt, gell? Wink
Naja, irgendwann wirds auch bei mir funktionieren.

_________________
Liebe Grüße
Gabriele
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Programmierung / VBA: Fenstergröße der Berichtsvorschau 5 indscho 93 09. Jan 2014, 10:07
indscho Fenstergröße der Berichtsvorschau
Keine neuen Beiträge Access Formulare: Fenstergröße bei Unterformularen 2 Gast 74 26. März 2013, 10:56
Steffen111 Fenstergröße bei Unterformularen
Keine neuen Beiträge Access Programmierung / VBA: Fenstergröße automatisch an Formulargröße anpassen. 2 DiscoDenis 270 17. Aug 2012, 13:03
DiscoDenis Fenstergröße automatisch an Formulargröße anpassen.
Keine neuen Beiträge Access Programmierung / VBA: IE in einer bestimmten Fenstergröße öffnen 1 Tobe2b 511 08. Dez 2011, 17:23
gast123456 IE in einer bestimmten Fenstergröße öffnen
Keine neuen Beiträge Access Formulare: Popup Fenstergröße an auflösung angepassen 0 Tati-tata 798 01. Apr 2011, 16:57
Tati-tata Popup Fenstergröße an auflösung angepassen
Keine neuen Beiträge Access Formulare: Richtige Fenstergröße 13 gisiangel 1566 30. Aug 2010, 10:14
Pimboli Richtige Fenstergröße
Keine neuen Beiträge Access Formulare: Formular Fenstergröße vererben 2 bwcloud 960 26. Feb 2010, 13:55
bwcloud Formular Fenstergröße vererben
Keine neuen Beiträge Access Berichte: Fenstergröße des Berichts macht Probleme 2 blicki 897 22. Feb 2010, 10:52
blicki Fenstergröße des Berichts macht Probleme
Keine neuen Beiträge Access Programmierung / VBA: FollowHyperlink & Fenstergröße des Browser 2 PeterD 962 11. Okt 2009, 19:36
PeterD FollowHyperlink & Fenstergröße des Browser
Keine neuen Beiträge Access Programmierung / VBA: Fenstergröße von Access ändern, Code funktioniert nicht. 4 RuffY 1854 15. Jul 2009, 22:53
RuffY Fenstergröße von Access ändern, Code funktioniert nicht.
Keine neuen Beiträge Access Formulare: Formular der Fenstergröße von Access anpassen 1 Wupper 1613 29. Mai 2009, 08:50
Wupper Formular der Fenstergröße von Access anpassen
Keine neuen Beiträge Access Tabellen & Abfragen: Fenstergröße/Abfrage 1 MFG 1078 09. März 2009, 23:09
MiLie Fenstergröße/Abfrage
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Excel Tipps