Access-o-Mania

Access-Forum (Deutsch/German) => Formular => Thema gestartet von: Mykis am August 28, 2013, 21:43:48

Titel: Fllter löschen beim Formularanzeigen
Beitrag von: Mykis am August 28, 2013, 21:43:48
Hallo,

mit folgenden Code möchte ich beim "Anzeigen" Sortierung und Filter in einem Formular löschen. Die Sortierung ist dann auch in den Eigenschaften gelöscht, das Filter bleibt erhalten und macht ja nach Datenmenge das Formular langsam.
If Me.FilterOn = False Then
         Me.Filter = ""
         Me.OrderBy = ""
        End If


Beste Grüße
Frank
Titel: Re: Fllter löschen beim Formularanzeigen
Beitrag von: DF6GL am August 28, 2013, 21:52:58
Hallo,

"Beim Anzeigen" würde ich das nicht einsetzen...


Aber was ist die Frage?
Titel: Re: Fllter löschen beim Formularanzeigen
Beitrag von: Mykis am August 28, 2013, 22:01:24

An welcher Stelle kriege ich dann mit diesem Befehl das ausgeführte Filter nach dem erneuten Öffnen des Formulars aus den Eigenschaften?
Titel: Re: Fllter löschen beim Formularanzeigen
Beitrag von: Mykis am August 29, 2013, 08:54:28
Natürlich habe ich (Learning by doing) den Code bei anderen Ereignissen ausprobiert, aber eben erfolglos. Das benutzte Filter bleibt in den Eigenschaften stehen und verlangsamt das Öffnen des Formulars bei beispielsweise 50 000 Datensätzen enorm. (das Formular ist ein Endlosformular in Datenblattansicht)


Frank
Titel: Re: Fllter löschen beim Formularanzeigen
Beitrag von: MzKlMu am August 29, 2013, 09:00:06
Hallo,
im Ereignis "Beim Öffnen" folgender Code:

Me.Filter = ""
Me.FilterOn = False
Titel: Re: Fllter löschen beim Formularanzeigen
Beitrag von: Mykis am August 29, 2013, 09:39:38
Danke für den Hinweis.
Leider löscht dieser Code "Beim Öffnen" das letzte Filter auch nicht. Nur "Beim Anzeigen" wirkt Me.Filter = ""  und  Me.OrderBy = "", allerdings nicht gemeinsam, dann stürzt Access ab, wenn ich nach einer Sortierung noch was filtern will.

LG
Frank
Titel: Re: Fllter löschen beim Formularanzeigen
Beitrag von: DF6GL am August 29, 2013, 17:21:49
Hallo,

ganz  genau sehe ich das Problem nicht..

Wenn wirklich die Filterung mit Me.Filter/Me.FilterOn  das Ding so langsam macht, dann verzichte auf die Filter-Methode mit diesen Eigenschaften und weise dem Formular besser eine angepasste Datenherkunft (Recordsource) zu.


Titel: Re: Fllter löschen beim Formularanzeigen
Beitrag von: Mykis am August 29, 2013, 19:39:56
Hallo Franz,

als Amateur habe ich mich bestimmt wieder unverständlich ausgedrückt. :)

Mein Endlosformular in Datenblattansicht enthält alle Funddaten der Pilzdatenbank. Dieses Formular gibt also erst mal eine Gesamtübersicht, in der ich nun nach Belieben filtern und sortieren will und kann, um bestimmte Funde zu selektieren. Diese Sortierung bzw. Filterung bleibt in den Eigenschaften des Formulars im Hintergrund erhalten. Bei großen Datenmengen wird das Öffnen des Formulars dadurch enorm verlangsamt. Eine Möglichkeit wäre "DoCmd.Close acForm, "Zusammenfassung" ,acSaveNo". Da habe ich aber in Tabellenansicht keine Möglichkeit zum Eintragen. Diese Ereignis in "Beim Schließen" erzeugt einen Bug! Also möchte ich auf eine andere Weise eine Speicherung der
Filterung und Sortierung vermeiden.

LG
Frank