Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

Filter "von... bis..." mit Hilfe VBA-Code





Frage

Hallo zusammen! Ich habe folgendes Problem: Startformular, in dem der Anwender einen Suchbereich angeben kann (z.B. €-Betrag von 1000 € bis 2000 €). Mittels Schaltfläche wird ein neues Formular aufgerufen, in dem die Datensätze einer Tabelle enthalten sind. Nun sollen innerhalb dieses Formulars die Datensätze entsprechend den zuvor gemachten Angaben gefiltert werden (also es sollen nur Datensätze angezeigt werden, die zwischen 1000 und 2000 € liegen). Hab´s schon mit den wildesten Ausdrücken versucht, bin aber auf keinen grünen Zweig gekommen. [z.B.: DoCmd.ApplyFilter , "Formulare![Start]![Wert_bis] >= Wert >= Formulare![Start]![Wert_von]"] Bin für jegliche Hilfestellung dankbar... Muss doch irgendwie möglich sein??? MfG kkaiser

Antwort 1 von Risatara2

Hi,
Wie wärs mit:
"Formulare![Start]![Wert_bis] >= Wert AND Wert >= Formulare![Start]![Wert_von]"

Allerdings musst du wenn du das per VBA machst daran denken es zu unterteilen also:
Formulare![Start]![Wert_bis] & ">= Wert AND Wert >=" & Formulare![Start]![Wert_von]"

Oder so ähnlich.. versuchs mal so
Gruß, Risatara

Antwort 2 von kkaiser

Hi, Risatara!

Danke für die Hilfe, aber leider funktioniert´s so auch nicht... das %&§/$-Ding gibt mir noch immer überhaupt keinen Datensatz aus...

Das muss doch irgendwie möglich sein, nen Bereich einzuschränken...

MfG
kkaiser

Antwort 3 von Marie

klar is das möglich wenn man bis aufs i-tüpfelchen alles richtig geschrieben hat. Aber der geringste fehler bringt halt dann kein Ergebnis. Deshalb musste dann deinen code mal exakt posten mit dem du das probiert hast und dann noch um was für einen Feldinhalt es sich handelt: Zahl, Text, Datum ???.

Antwort 4 von erik

Wieso filterst du das Formular nicht schon beim Aufrufen aus dem Hauptformular? Übergib der DoCmd.OpenForm-Anweisung den Filter, dann brauchst du auch kein ApplyFilter.

DoCmd.OpenForm FormName:=[MeinFormular], WhereCondition:="[Wert] BETWEEN " & Forms![Start]![Wert_von] & " AND " & Forms![Start]![Wert_bis]

Wenn das immer noch nichts liefert, dann solltest du mittels Abfrage und dem o.g. Filter zunächst sicherstellen, dass deine Tabelle wirklich passende Daten liefern kann.

Antwort 5 von Risatara2

Ummm... wir haben glaub ich auch noch ne Kleinigkeit vergessen, nämlich das der Wert natürlich auch in eckigen Klammern stehen muss.. Aber wenn das auch nichts bringt, musst du dir wohl oder übel überlegen, ob du vielleicht ein paar mehr Daten zur Verfügung stellst.

Antwort 6 von erik

Die eckigen Klammern sind nur dann zwingend notwendig, wenn im Feldnamen ein Leerzeichen oder ein sonstiges Sonderzeichen enthalten ist. Wenn ich "Wert" dennoch in Klammern setze, dann ist das reine Gewohnheit. :-)

Antwort 7 von Risatara2

Hi,
OK, das wusste ich jetzt nicht mehr ob die in solchem Code notwendig sind oder nicht.. und wenn sies nicht sind isses mir auch egal.
Risatara

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: