Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: Patrick_82 am Februar 04, 2020, 20:53:59

Titel: Formular öffnen und neuen Datensatz anlegen- Vba
Beitrag von: Patrick_82 am Februar 04, 2020, 20:53:59
Hallo zusammen,

Als eher laienhafter Access Bediener zerbreche ich mir seit Stunden den Kopf, auf der Suche nach einem Syntax/ Befehl. Und zwar möchte ich ein Formular wenn es minimiert ist, nur per Button eines anderen Formulars öffnen und wenn es richtig geschlossen ist, dann soll es öffnen und einen neuen/leeren Datensatz anlegen oder bereitstellen.

So sinngemäß: wenn Formular minimiert,dann DoCmd.openForm (,,formularname"- sonst DoCmd.openForm - DoCmd.RunCommand acCmdRecordsGoToNew 

Vielleicht hat einer von euch hier eine Idee wie ich das umsetzen könnte.

Viele Grüße

Patrick
Titel: Re: Formular öffnen und neuen Datensatz anlegen- Vba
Beitrag von: Diskus123 am Februar 04, 2020, 21:17:00
Also zum Mximieren des Formulares müsste das so gehen, musste nur die passende if then anwenden.
DoCmd.SelectObject acForm, "Das_zu_maximierende_Formular"
DoCmd.Maximize
DoCmd.SelectObject acForm, Me.Name


Zum testen ob ein Formular geöffnet ist
If CurrentProject.AllForms("Formularname").IsLoaded = True Then
        MsgBox "Formular ist geöffnet."
      Else
        MsgBox "Formular ist nicht geöffnet."
    End If[\code]
lg diskus123


Titel: Re: Formular öffnen und neuen Datensatz anlegen- Vba
Beitrag von: Patrick_82 am Februar 04, 2020, 21:31:30
Vielen Dank, ich werde es dann testen
Titel: Re: Formular öffnen und neuen Datensatz anlegen- Vba
Beitrag von: Patrick_82 am Februar 04, 2020, 23:13:42
Hättest du oder noch jmd einen Ansatz wie ich den Ausdruck konkret formulieren könnte ?

gruß

Patrick
Titel: Re: Formular öffnen und neuen Datensatz anlegen- Vba
Beitrag von: Diskus123 am Februar 04, 2020, 23:40:52
Probiere es mal so
Private Sub Befehl0_Click()

If CurrentProject.AllForms("Formular1").IsLoaded = True Then
DoCmd.Maximize
DoCmd.Close acForm, "Formular2"
Else
DoCmd.OpenForm "Formular1"
DoCmd.Maximize
End If
End Sub