title image


Smiley Re: Formular Filter löschen - Access2000 -> ist dies die Lösung?
Hallo,

nach vielen Versuchen habe ich scheinbar eine Lösung gefunden. Leider ist diese Mail etwas lang aber dafür hoffentlich verständlich.



Das während der Ausführung eines Formulares aufgebaute Filter und Sortiert nach wird nicht wieder gelöscht wenn das Formular mit der Schließen-Taste [X] geschlossen, oder aus der Formular-Ansicht in die Entwurfs-Ansicht gewechselt wird.

Im Entwurf eingestellte Formular Eigenschaften:

Filter:                  keine Eingabe

Sortiere nach:     keine Eingabe

Schließe ich das Formular nun mit [X] oder wechsel in die Entwurfs-Ansicht, durchläuft das Programm die folgenden Routinen ohne diese Befehle auszuführen:



VBA Script: (Das Formular soll beim Schließen auf diese Werte gesetzt werden)

Private Sub Form_Deactivate()

    '1. Schritt nach Schließen

    Me.Filter = "[Post] = ''"

    Me.OrderBy = ""

End Sub 



Private Sub Form_Unload(Cancel As Integer)

    '2. Schritt nach Schließen

    Me.FilterOn = False

    Me.Filter = "[Post] = ''"

    Me.OrderBy = ""

End Sub



Private Sub Form_Close()

    '3. Schritt nach Schließen

    Me.Filter = "[Post] = ''"

    Me.OrderBy = ""

End Sub

Es sind anschließend folgende Formular-Eigenschaften vorhanden, die nur wieder manuell gelöscht werden können,

Filter:                  [Post] = 'Individual Emails'

Sortiere nach:     [E-Mail]

Also genau die Werte, die beim Öffnen des Formulars mit dieser Routine eingeben worden sind.



Dieser Eintrag soll die durch Eingaben veränderten Filter und Sortiere nach Eigenschaften simulieren.

Private Sub Form_Open(Cancel As Integer)

    Me.Filter = "[Post] = 'Individual Emails'"

    Me.OrderBy = "[E-Mail]"

    FilterOn = True

    Me.OrderByOn = True

End Sub

Das Programm akzeptiert in allen Schritten den Befehl führt ihn aber nicht aus!!! (Software-Fehler ???)



Microsoft behandelt dieses Thema, das Beispiel verwendet jedoch nur die Routine Form Current, aber dort kann ich es nicht gebrauchen hat mich aber auf diese Lösung gebracht:



Ich schließe das Formular mit einer Taste Ende und setze hier die Werte zurück. Es sind jetzt keine Einträge mehr vorhanden.

Private Sub Ende_Click()

    Me.FilterOn = False

    Me.Filter = ""

    Me.OrderBy = ""

    DoCmd.Close

End Sub

Code eingefügt mit Syntaxhighlighter 1.16

Diese Eigenschaft ist natürlich bei der Entwicklung eines Formulares sehr hinderlich, da jedesmal, wenn man das Formular nicht mit Ende schließt, sondern z.B. durch den Benutzer mit der Taste [X] schließt oder in die Entwurfsansicht wechselt, die Eigenschaften manuell wieder berichtigt werden müssen.



Ich hoffe allen, die diese Problem schon einmal gehabt haben bzw. haben werden, mit diesem Beitrag einen Tip gegeben zu haben.



Guennie aus Hamburg



 



P.S. Bitte an die Experten wie Reinhard, Elvis und wie Ihr alle heißt, sollte ich mit meiner Vermutung und Lösung nicht richtig liegen, mir dieses doch unbeding mitzuteilen. Anderfalls wäre es doch sehr gut wenn dieses entsprechend überarbeitet in anderen Foren, wie z.B. http://www.donkarl.com/ oder

http://www.kraasch.de/ u.s.w., erscheinen würde. Ich habe dort bisher keine Lösung gefunden.



Danke



geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: