Supportnet / Forum / Datenbanken
Filter in Formular erstellen
Frage
Hallo,
ich habe das folgende Problem. Ich habe in einem Formualar im Formularkopf ein Button und ein Eingabefeld erstellt. In das Eingabefeld können Werte eingetragen werden und per Druck auf den Button sollen die entsprechenden Datensätze herausgefiltert werden. Die Datensätze befinden sich (natürlich) im Detailbereich.
Kann mir jemand sagen, die der VBA-Code dafür ungefährt aussehen müsste?
Habe schon mit Filter, FilterOn herumprobiert, aber nichts funktionierendes gefunden.
Dank und Gruss
Heinz
Antwort 1 von El Bobbele
Hallo Heinz!
Mit Filter und FilterOn warst du eigentlich schon auf dem richtigen Weg! Wie schaut denn Code dazu aus? Vielleicht hast du deine Bedingung für Filter-Eigenschaft nur etwas falsch formuliert.
Gruss
El Bobbele
Mit Filter und FilterOn warst du eigentlich schon auf dem richtigen Weg! Wie schaut denn Code dazu aus? Vielleicht hast du deine Bedingung für Filter-Eigenschaft nur etwas falsch formuliert.
Gruss
El Bobbele
Antwort 2 von Heinz Schmolke
Hallo,
mittlerweile kann ich nicht mehr genau rekonstruieren, was ich mit Filter und FilterOn genau ausprobiert habe.
Der momentane Code ist momentan sehr übersichtlich ...
Private Sub Filter_MatNr_AfterUpdate()
matnr.SetFocus
End Sub
Das Eingabefeld heisst dabei "Filter_MatNr", den Button habe ich weggelassen. "matnr" bezeichnet den Datensatz, der gefiltert werden soll.
Gruss Heinz
mittlerweile kann ich nicht mehr genau rekonstruieren, was ich mit Filter und FilterOn genau ausprobiert habe.
Der momentane Code ist momentan sehr übersichtlich ...
Private Sub Filter_MatNr_AfterUpdate()
matnr.SetFocus
End Sub
Das Eingabefeld heisst dabei "Filter_MatNr", den Button habe ich weggelassen. "matnr" bezeichnet den Datensatz, der gefiltert werden soll.
Gruss Heinz
Antwort 3 von El Bobbele
Hallo Heinz!
Probiere mal das hier aus:
Wenn du einen Text eingibst und abschickst, dann sollte gefiltert werden. Entfernst du den Text wieder, dann erscheinen wieder alle Datensätze.
Gruss
El Bobbele
Probiere mal das hier aus:
Private Sub Filter_MatNr_AfterUpdate()
With Me
If Not IsNull(.Filter_MatNr) Then
'Filter anwenden bei Dateneingabe
.Filter = "[matnr] = " & .Value
'Diese Zeile aktivieren, wenn das
'Feld ein Text-Datentyp ist:
'.Filter = "[matnr] = '" & .Value & "'"
.FilterOn = True
Else
'Filter abschalten
.Filter = vbNullString
End If
End With
End SubWenn du einen Text eingibst und abschickst, dann sollte gefiltert werden. Entfernst du den Text wieder, dann erscheinen wieder alle Datensätze.
Gruss
El Bobbele
Antwort 4 von info-gate
Ich weiss dieses Thema wurde schon vor langer Zeit veröffentlicht. Vielleicht kann mir trotzdem jemand helfen.
Wie müsst der obere Code aussehen, wenn ich nun anstatt eines eingabefeldes zwei Eingabefelder habe. (von und bis)
Ich möchte nun nach datum filtern lassen und in den Feldern von und bis gebe ich den Startdatum und das Enddatum. Jetzt soll es mir alle einträge Anzeigen, die in diesem Zeitraum geschrieben wurden.
Kann mir jemand helfen?
Danke und Gruss
Wie müsst der obere Code aussehen, wenn ich nun anstatt eines eingabefeldes zwei Eingabefelder habe. (von und bis)
Ich möchte nun nach datum filtern lassen und in den Feldern von und bis gebe ich den Startdatum und das Enddatum. Jetzt soll es mir alle einträge Anzeigen, die in diesem Zeitraum geschrieben wurden.
Kann mir jemand helfen?
Danke und Gruss

