Formular duplizieren und Focus setzen

Moderator: ModerationP

Formular duplizieren und Focus setzen

Beitragvon Christian10000 » 27. Sep 2019, 13:10

Hallo zusammen,

ich bin verzweifelt und komme momentan nicht weiter, ich habe eine Anzeige bei der ich die Größe verändern möchte.
Da dies Access auf normalen Weg nicht durch ein Form."NAME".Height = X zulässt, dupliziere ich das Formular, blende das "Alte" aus und passe die Größe bei dem neuen an.
Mein Problem ist, dass ich die Parameter nicht auf das "Neue" Formular anwenden kann und Access hier nach einer Information bittet. Laut Internetrecherche kann man das Problem durch einen .SetFocus beheben nur bekomme ich dies nicht umgesetzt.

Ich bedanke mich schon einmal mehrfach für die Hilfe. :wink:

Hier mein Code:

Private Sub btnMärkte_Click()
Dim stdocname As String
Dim rs As DAO.Recordset
Dim stlinkcriteria As String
Set Infos_für_Märkte = New Form_Infos_für_Märkte

Set rs = Infos_für_Märkte.RecordsetClone
stdocname = "Infos_für_Märkte"
DoCmd.OpenForm stdocname
With Infos_für_Märkte
Forms("Infos_für_Märkte").SetFocus
.Visible = False
DoCmd.MoveSize 1, 1, 20000, 15000
End With
End Sub
Christian10000
Neuling
 
Beiträge: 2
Registriert: 27. Sep 2019, 13:00

Re: Formular duplizieren und Focus setzen

Beitragvon KlausMz » 27. Sep 2019, 13:29

Hallo,
Da dies Access auf normalen Weg nicht durch ein Form."NAME".Height = X zulässt,
warum soll das Access nicht zulassen ?

Das Duplizieren dürfte eher eine Krücke sein als eine Lösung.

Warum musst Du überhaut die Größe ändern ?
Gruß
Klaus . . . . . Feedback wäre wünschenswert.
Ich möchte bitte keine unaufgeforderten PN. Fragen bitte im Forum.
Benutzeravatar
KlausMz
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 39145
Registriert: 06. Okt 2003, 15:09
Wohnort: Irgendwo in der Pfalz

Re: Formular duplizieren und Focus setzen

Beitragvon knobbi38 » 27. Sep 2019, 14:00

Hallo Christian10000,

über Form.Moveable kannst du feststellen, ob ein Fenster geändert werden kann und dann geht das ganz normal mit der Methode Form.Move
Siehe:
https://docs.microsoft.com/de-de/office/vba/api/access.form.move

Ulrich
knobbi38
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 1418
Registriert: 02. Jul 2015, 14:23

Re: Formular duplizieren und Focus setzen

Beitragvon Christian10000 » 27. Sep 2019, 15:18

Vielen Dank für die schnellen Antworten,

KlausMz, das Problem ist, dass die Anzeige sich nicht automatisch verkleinert, sonder über den Bildrand hinaus geht.

Knobbi38, ich habe alle Varianten bereits versucht und das klappt leider auch nicht, wie gesagt das beste Ergebnis habe ich über das duplizieren erzielt.

Falls ich eine Lösung finde werde ich diese mitteilen, sonst vielen Dank schon mal für weitere Anregungen.
Christian10000
Neuling
 
Beiträge: 2
Registriert: 27. Sep 2019, 13:00

Re: Formular duplizieren und Focus setzen

Beitragvon mmarkus » 27. Sep 2019, 19:26

Christian10000 hat geschrieben:ich habe alle Varianten bereits versucht


Du musst es nur richtig machen, dann funktioniert auch alles!!

Erstmal ein Hinweis
Wenn du eine Formularklasse mittels new erstellst findest du sie nicht via Forms.
Außerdem die Variable so zu nennen wie die Klasse - die außerdem predeclared ist, ist eine ganz böse Sache.

Die Frage ist warum du überhaupt New verwendest.
Das bringt zwar viele Möglichkeiten, man muss aber weit mehr zum Thema verstehen.

So sollte es klappen:

Code: Alles auswählen
Sub FormInstanzTest()
   
   
    Set frm = New Form_Infos_für_Märkte
    frm.Move 10, 10, 10000, 10000
    frm.Visible = True
   
End Sub


Wobei du die Variable frm auf Modulebene deklarieren musst, oder du erzeugst innerhalb des Formulares eine Referenz auf das Formular, so dass es sich nicht schließt.
ms access what else
mmarkus
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 1603
Registriert: 16. Apr 2012, 16:07
Wohnort: Oberösterreich

Re: Formular duplizieren und Focus setzen

Beitragvon knobbi38 » 27. Sep 2019, 21:34

Hallo Markus,

mmarkus hat geschrieben:Wenn du eine Formularklasse mittels new erstellst findest du sie nicht via Forms.

Die Form-Instanz wird auch in der Forms-Auflistung eingetragen. Sobald die letzte Referenz darauf wieder gelöscht wird, wird das Objekt auch wieder aus der Forms-Auflistung gelöscht. Das besondere daran ist jedoch, daß entgegen den mit Docmd geöffneten Formularen, diese in der Forms-Auflistung nur über einen numerischen Index angesprochen werden können.

Gruß Ulrich
knobbi38
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 1418
Registriert: 02. Jul 2015, 14:23

Re: Formular duplizieren und Focus setzen

Beitragvon mmarkus » 28. Sep 2019, 12:37

knobbi38 hat geschrieben:diese in der Forms-Auflistung nur über einen numerischen Index angesprochen werden können


Richtig, nur ist der numerische Index wertlos, da sich dieser jederzeit ändern kann.
Es bleibt nur der Weg alle Elemente zu durchlaufen und auch wenn man bei Nutzung mehrere Instanzen eine Referenz gefunden hat, weiß man noch lange nicht, ob es die gewünschte ist.

Aber Hauptsache man versteht die Problematik - ganz egal wie man damit umgeht.
ms access what else
mmarkus
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 1603
Registriert: 16. Apr 2012, 16:07
Wohnort: Oberösterreich

Re: Formular duplizieren und Focus setzen

Beitragvon Joss » 28. Sep 2019, 12:46

Hallo Christian10000,

setze doch dein Formular Infos_für_Märkte mal auf die Eigenschaft PopUp.
Dann sollte dieser Code funktionieren:
Code: Alles auswählen
Private Sub btnMärkte_Click()

 DoCmd.OpenForm "Infos_für_Märkte"
 DoCmd.MoveSize 1000, 1000, 10000, 5000
 
End Sub


Zeigst du vielleicht die Dokumente im Registerkartenformat an?
1.jpg

Dann versuch's mal mit Überlappende Fenster.

servus
Josef
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Joss
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 194
Registriert: 20. Okt 2012, 11:38

Re: Formular duplizieren und Focus setzen

Beitragvon Christian1000 » 30. Sep 2019, 06:56

Guten Morgen Joss,

du bist mein Held es funktioniert :D .

Vielen Dank an Alle für die schnelle Hilfe, noch einen schönen Start in die Woche.
Christian1000
Neuling
 
Beiträge: 1
Registriert: 27. Sep 2019, 12:36


Zurück zu Access Forum (provisorisch)

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 9 Gäste