Access-o-Mania

Access-Forum (Deutsch/German) => Formular => Thema gestartet von: fred-neumann am November 06, 2016, 20:29:51

Titel: bestimmte Formulare schließen
Beitrag von: fred-neumann am November 06, 2016, 20:29:51
Hallo Access Experten.
Zum schließen -ausgehend von meinem "Hauptformular" aller darauf folgenden Formulare, habe ich den Code:

Public Function CloseAllForms(Optional BesidesThisOne As String)
Dim i As Long, FrmName As String
For i = Forms.Count - 1 To 0 Step -1
  FrmName = Forms(i).Name
  If FrmName <> BesidesThisOne Then
    DoCmd.Close acForm, FrmName, acSaveYes
  End If
Next i
End Function


Meine Frage: Ist es per vba möglich, alle Formulare die vom Namen "Z1" beginnen, zu schließen?
Titel: Re: bestimmte Formulare schließen
Beitrag von: Beaker s.a. am November 06, 2016, 21:00:43
If Left(FrmName, 2) = "Z1" Then
Titel: Re: bestimmte Formulare schließen
Beitrag von: fred-neumann am November 06, 2016, 21:15:14
Hallo Beaker,
ich bin absolut kein vba`ler, nehme an, das ich es hier einsetze:

Public Function CloseZ1(Optional BesidesThisOne As String)
Dim i As Long, FrmName As String
If Left(FrmName, 2) = "Z1" Then
For i = Forms.Count - 1 To 0 Step -1
  FrmName = Forms(i).Name

  If FrmName <> BesidesThisOne Then
    DoCmd.Close acForm, FrmName, acSaveYes
  End If

Next i
End Function

aber wo das "end If"
Oder meinst du ein vba " mit "If Left(FrmName, 2) = "Z1" Then" und "DoCmd.Close acForm"
Wie füge ich es ein?
Titel: Re: bestimmte Formulare schließen
Beitrag von: fred-neumann am November 06, 2016, 21:41:51
Beaker, - alles kloar!
nach "experimenten":

Public Function CloseZ1(Optional BesidesThisOne As String)
Dim i As Long, FrmName As String

For i = Forms.Count - 1 To 0 Step -1
  FrmName = Forms(i).Name

If Left(FrmName, 2) = "Z1" Then

    DoCmd.Close acForm, FrmName, acSaveYes
  End If

Next i
End Function


Danke für die Mühe,- der Code vereinfacht mir vieles!

mfg
Fred