Office: (Office 2007) Filter für Formular

Helfe beim Thema Filter für Formular in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo, in einem Formular möchte ich nur Daten eines Jahres anzeigen. Das Jahr soll man in einem Textfeld auswählen können. Dazu möchte ich bei der... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Ratoncito, 5. September 2020.

  1. Filter für Formular


    Hallo,

    in einem Formular möchte ich nur Daten eines Jahres anzeigen. Das Jahr soll man in einem Textfeld auswählen können. Dazu möchte ich bei der Aktualisierung des Textfeldes den Filter an die Abfrage übergeben.

    Für das Jahr 2019 müsste der Filter wohl
    >=01.01.2019 UND

    :)
     
    Ratoncito, 5. September 2020
    #1
  2. (Für einen, der sich aus seiner Hängematte heraustraut und ein wenig mittun will)
    Mit DateSerial kann man ein Datum aus Elementen zusammensetzen, über Datum an SQL-String übergeben kann man dann SQL-gerecht formatieren.
     
  3.  
    Beaker s.a., 7. September 2020
    #3
  4. Filter für Formular

    Hallo,

    Bezieht sich das auf meine Homepage?
    Ja, da wäre ich jetzt lieber.


    Irgendwo steckt ein Fehler, den ich nicht finde. Daher wollte ich den Filter zuerst an einem anderen Feld (Art) testen, um die zu erwartenden Probleme bei einem Datum erstmal auszuschließen. Leider klappt schon die Übergabe des Filters nicht.

    Bei meiner Suche bin ich auf mehrere Schreibweisen für den Filter gestossen, die ich nacheinander ausprobiert habe. Leider immer ohne Erfolg.

    Die Abfrage ist für das Unterformular, daher habe ich auch den Namen des Unterformulars im Code berücksichtigt.

    Code:
    Würde bitte jemand den Code korrigieren.

    Vielen Dank - Wolfgang
     
    Ratoncito, 8. September 2020
    #4
  5. Hallo,
    beschreibe was Du mit welchen Werte filtern willst.
    Und die Daentypen der zu filternden Felder nicht vergessen.
    Dein Codebeispiel ist da wenig hilfreich.
     
    gpswanderer, 8. September 2020
    #5
  6. Hallo Klaus,

    die anzusprechende Abfrage ist für ein Unterformular sfmName. Darin ist eine Spalte mit der Bezeichnung Art. Der Inhalt ist eine Allgemeine Zahl mit der Feldgröße Byte.

    In dem Fall sollen alle Datensätze angezeigt werden, bei dem der Wert in der Spalte Art den Wert 4 hat.

    Liebe Grüße - Wolfgang
     
    Ratoncito, 8. September 2020
    #6
  7. Hallo,
    so:
    Code:
     
    gpswanderer, 8. September 2020
    #7
  8. Filter für Formular

    Hallo Klaus,

    vielen Dank, jetzt klappt es.

    Der eigentliche Fehler lag aber woanders. Ich habe angenommen, dass mein Code nicht richtig war.

    In der Abfrage war die Spalte Art vorhanden, fehlte aber in der Datensatzquelle zum sfm. Kleine Ursache, große Wirkung.

    Jetzt werde ich mich mal an dem Feld mit dem Datum versuchen.

    Noch einen schönen Abend - Wolfgang
     
    Ratoncito, 8. September 2020
    #8
  9. Hallo,

    den ersten Schritt habe ich geschafft.

    Code:
    Damit werden mir alle Datensätze für das Jahr 2019 angezeigt.

    Das Jahr möchte ich über ein Textfeld txtJahr im Formular auswählen. Leider bekomme ich das Jahr nicht in den Filterausdruck. Dazu habe ich so angefangen:
    Code:
    Alle meine Versuche strJahr in den Filter einzubauen enden mit Fehler.

    Hat jemand eine Lösung?

    Vielen Dank - Wolfgang
     
    Ratoncito, 8. September 2020
    #9
  10. Hallo Wolfgang,

    dann mußt du diesen Filterausdruck einfach mit Stringverarbeitung zusammensetzen. Prinzipiell hast du zwei Möglichkeiten:

    1. aus dem Datumsfeld das Jahr berechnen und mit deiner Eingabe vergleichen
    oder
    2. das Anfangsdatum und das Endedatum mit dem Jahreswert entsprechend dem SQL-Format zusammensetzen und dann damit vergleichen.

    Ulrich
     
  11. Ein Glück, dass Hinweise umsonst sind und ungehört verhallen.

    Denkfrage zusätzlich: Warum macht man eine Jahreszahl explizit zum String?

    Code:
    Das ist zwar optisch einfacher und kürzer in der Anweisung, allerdings stets zweite Wahl, wenn man Indexnutzung und damit Performance nicht behindern will.
     
  12. Hallo,

    da muss man nicht auf Format und DateSerial zurückgreifen. Mit einfacher Stringverarbeitung meinte ich eher so etwas:
    Code:
    Ulrich
     
  13. Filter für Formular

    Ja, jeder hat seinen Stil.
    Ich tendiere eher in Richtung echter Parameterübergabe (Parameterabfrage) und in Richtung Variabilität (der abgefragte Zeitraum könnte auch mal anders lauten als genau ein Kalenderjahr wie z.B. die letzten beiden vollen Kalendermonate, bestimmte Kalenderwochen usw.).
     
  14. Hallo Ulrich,

    vielen Dank für Deine Hilfe. Der Code ist übersichtlich und funktioniert. Das mit .Value und Replace werde ich mir nochmal in Ruhe anschauen.


    @ebs17

    Ja, mit DateSerial kann man sicherlich ein Datum aus Elementen zusammenbauen, wenn man weiß wie es geht. Dass man dabei als Anfänger bei den vielen "'"&(/)_ ganz schnell etwas falsch machen kann und dann hoffnungslos verloren ist, sollte man nicht vergessen.
    Und ganz nebenbei bemerkt, bei dem geposten Code gibt es die Fehlermeldung:
    Fehler beim Kompilieren
    Erwartet: Listentrennzeichen oder )

    Trotzdem vielen Dank.

    Allen noch einen schönen Abend - Wolfgang
     
    Ratoncito, 9. September 2020
    #14
  15. Genauer: Zweimal ein " bei der Formatierung.

    Man müsste sich trauen, mit dem Stichwort in der Hilfe nachzuschauen. Einen solchen Lerneffekt erkauft man sich aber mit zusätzlicher Mühe.
    Einfach und kopieren geht natürlich auch - bis zum nächsten Mal.
     
Thema:

Filter für Formular

Die Seite wird geladen...
  1. Filter für Formular - Similar Threads - Filter Formular

  2. Summen in Formular nach Filter #Fehler

    in Microsoft Access Hilfe
    Summen in Formular nach Filter #Fehler: Hallo, hat jemand eine Idee, woran es liegen könnte, dass Summenfelder in einem Formular auf Fehler laufen, sobald die Datensätze gefiltert werden? Solange ich mittels Datensatznavigation zum...
  3. Filter Datum im Formular

    in Microsoft Access Hilfe
    Filter Datum im Formular: Hallo zusammen, ich hab mal eine Frage. Ich hab ein Formular was auf einer Abfrage bzw. Tabelle mit zwei Datumsspalten Gültigkeit_von und Gültigkeit_bis basiert. Ich hab sonst immer einen...
  4. NACH Filter im Formular Min-Wert mit VBA

    in Microsoft Access Hilfe
    NACH Filter im Formular Min-Wert mit VBA: Hallo Zusammen, ich habe ein Formular basierend auf Tabelle im Formular möchte ich mit VBA den Prozentwert einer Spalte angeben. hierzu benötige ich den Min-Wert dieser Spalte soweit bin ich...
  5. Filtern in Formular über mehrere Tabellen/Abfragen

    in Microsoft Access Hilfe
    Filtern in Formular über mehrere Tabellen/Abfragen: Hallo zusammen, folgende Problemstellung: Ich habe ca. 15 Tabellen (aus unterschiedlichen Jahren) mit den gleichen Feldernamen. Ich möchte ein HF mit UFO erstellen, wo ich über HF in UFO nach...
  6. Verbundene Formulare nach Filtern nicht mehr synchron

    in Microsoft Access Hilfe
    Verbundene Formulare nach Filtern nicht mehr synchron: Guten Tag, ich habe ein Formular mit zwei Unterformularen drin, welche auf die gleiche Tabelle verbunden sind: einmal in Datenblatt-Ansicht als Übersicht und zur einfachen Selektion eines...
  7. Formular Filtern nach Suchbegriffen

    in Microsoft Access Hilfe
    Formular Filtern nach Suchbegriffen: Ich habe mal wieder ein problem. Ich habe ein Formular welches als Datensatzherkunft eine Abfrage hat. Die Abfrage gibt mir verschiedene Einträge wieder. Unter anderem die Werte: trans_datum,...
  8. Formular öffnen mit Filter

    in Microsoft Access Hilfe
    Formular öffnen mit Filter: Hallo, ich möchte ein Formular öffnen, und direkt einen Filter setzen, dazu habe ich im Netz gefunden DoCmd.OpenForm "Employees", , ,"LastName = 'King'" diesen Code habe ich in meiner DB wie...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden