Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Filter geht nicht

Begonnen von Carl, April 05, 2018, 10:20:10

⏪ vorheriges - nächstes ⏩

Carl

Hallo,

ich hab mal ne Frage zu Filtern. Ich habe ein Formular, das mit dem folgenden code gefiltert wird.


Private Sub Text35_AfterUpdate()
If Not IsNull(Me.Text35) Then
        Me.Filter = "[WOName] LIKE '*" & Me.Text35 & "*'"
        Me![UFfrmworkorderUFO].Form.Filter = Me.Filter
        Me![UFfrmworkorderUFO].Form.FilterOn = True
    End If
End Sub


Wenn ich zuvor aber schon einen anderen Filter drin habe, funktioniert das nicht.

Welchen code kann man hier einfügen, der vor der Ausführung alle zuvor gehabten Filter aufhebt?

Bei den anderen Filtern möchte ich nichts aufheben.

Carl

ebs17

Zitatfunktioniert das nicht
Geht das auch spezifischer zu beschreiben? Idealerweise im ersten Anlauf?

Du willst den gleichen Filter gleichzeitig auf Haupt- und Unterformular anwenden?
Mit freundlichem Glück Auf!

Eberhard

Carl

Entschuldigung.

Also es gibt nur das eine UF und im HF gibt es 5 Filtermöglichkeiten per Auswahlfelder, die sich teilweise gegenseitig filtern. Alle diese Filtermöglichkeiten sollen aufgehoben werden, wenn man per Textfeld mit dem oben stehenden code nach einer Buchstabenkette filtert. (andernfalls nicht) Weil der Mitarbeiter dann ja einen einzelnen Datensatz sucht. Also würde ich gern die vorherigen Filter innerhalb des oben angegebenen codes aufheben.

Was passiert derzeit?
Derzeit filtert der obige code nur genau dann, wenn das Formular frisch aufgerufen wurde und noch kein Filter gesetzt wurde. Wenn einer der (anderen) Filter bereits gesetzt wurde, filtert obiger code nicht, sondern es passiert einfach nix.

DF6GL

Hallo,


ZitatWelchen code kann man hier einfügen, der vor der Ausführung alle zuvor gehabten Filter aufhebt?

Me.Filter =""
Me.Filteron =true

Die Frage ist weiterhin offen, warum das UFO identisch gefiltert werden soll/muss....

Me![UFfrmworkorderUFO].Form.FGilter =""
Me![UFfrmworkorderUFO].Form.Filteron = true

Das funktioniert aber nur dann, wenn keine anderen Filtermethoden (z. B. Where-Condition in Abfrage oder gesetzte Ufo-Steuerelement-Eigenschaften "Verknüpfen von/nach") greifen.


Carl

Wie, identisch gefiltert?

Bei diesem Code ergibt sich keinerlei Funktionsänderung zu oben.


Private Sub Text35_AfterUpdate()
       Me.Filter =""
       Me.Filteron =true
If Not IsNull(Me.Text35) Then
        Me.Filter = "[WOName] LIKE '*" & Me.Text35 & "*'"
        Me![UFfrmworkorderUFO].Form.Filter = Me.Filter
        Me![UFfrmworkorderUFO].Form.FilterOn = True
    End If
End Sub


Ich habe noch eine andere Lösungsidee: Gibt es eine Möglichkeit, den Inhalt eines Textfeldes beim Verlassen zurück zu setzen? Also dass die Buchstabengruppe im Textfeld verschwindet, wenn man woanders hin klickt?

Carl

DF6GL

Hallo,

identisch:  es wird doch das HFO und das UFO mit dem selben Kriterium gefiltert.. oder nicht?

zurücksetzen:  einfach machen:

.
.
    End If
Me!Text35 =Null
End Sub

Carl

okay, ich habs hin bekommen mit Deinem


End If
Me!Text35 =Null
End Sub


Es geht jetzt.

Was ich nicht verstehe ist diese Zeile:

"identisch:  es wird doch das HFO und das UFO mit dem selben Kriterium gefiltert.. oder nicht?"

Das Hauptformular kann man doch garnicht filtern, das ist doch nicht endlos. Es wird nur benötigt, weil dort die Steuerelemente drauf sitzen.

Carl

Beaker s.a.

ZitatDas Hauptformular kann man doch garnicht filtern
Warum machst du es dann?
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

DF6GL

Hallo,

ZitatDas Hauptformular kann man doch gar nicht filtern, das ist doch nicht endlos.

Da gibt es wohl ein grundsätzliches Fehlverständnis....

Ob Einzel- oder Endlosform ist nur eine Sache der Darstellung am Bildschirm.  Eine Filterung der Daten ist davon völlig unabhängig.