Office: (Office 2003) Mehrere Filter in einem Formular anwenden

Helfe beim Thema Mehrere Filter in einem Formular anwenden in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo liebe Helfenden, ich bin ein Neuling in Access und mit der Erstellung einer Datenbank beauftragt. Hab mich schon eingearbeitet und habe da eine... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von schnacko, 1. Juli 2008.

  1. Mehrere Filter in einem Formular anwenden


    Hallo liebe Helfenden,

    ich bin ein Neuling in Access und mit der Erstellung einer Datenbank beauftragt.
    Hab mich schon eingearbeitet und habe da eine Idee.
    Also ich habe eine Mitarbeitertabelle in der folgende Infos stehen:
    Name,Vorname,Abteilung,Abteilungsgruppe,Schicht.

    Nun möchte ich ein Formular erstellen in dem ich die Mitarbeiter über die Spalten Abteilung,Abteilungsgruppe und Schicht filtern kann.
    Meine Idee:
    Ich zeige zunächst alle Mitarbeiter an. Über die Spalten Abteilung,Abteilungsgruppe und Schicht setzte ich ein kombinationsfeld mit den entsprechenenden möglichen Eingaben.
    Nun soll folgendes geschehen.
    Wenn ich einem der Kombinationsfelder einen Wert auswähle, sollen nur noch die Mitarbeiter mit diesem Wert angegeben werden.Am besten automatisch aber von mir aus aber auch durch betätigen eines Buttons.

    Hoffe es ist klar was ich möchte.

    So jetzt ist meine Frage als Neuling:
    Ist das in Access möglich und wenn ja wie ist da so die Herangehensweise??

    Danke

    :)
     
    schnacko, 1. Juli 2008
    #1
  2. Moin,
    prinzipiell geht das schon in die richtige Rictung, was Du skizzierst.
    Für jedes Filterkriterium brauchst Du ein ungebundenes Kombi- oder Text-Feld.
    Für alle diese Controls richtest Du jeweils eine AfterUpdate Prozedur ein.
    Und dort rufst Du jeweils die Prozedur auf, die den Filter-String aus allen nicht-leeren Controls zusammensetzt und schliesslich das Formular auf Grundlage dieses Filters aktualisiert.
     
    hcscherzer, 2. Juli 2008
    #2
  3. oh mein Gott, das hört sich ja wahnsinnig kompliziert an.
    Kannst du mir das vielleicht noch etwas näher erklärren oder ein Beispiel angeben.
    Wäre echt der Hit wenn das klappen würde.

    DAnke
     
    schnacko, 2. Juli 2008
    #3
  4. Mehrere Filter in einem Formular anwenden

    also ich hab das jetzt mal soweit mit den kombifeldern und dem formulkar und so gestaltet.
    Mir ist nur nicht ganz klar welchen code ich bei der AfterUpdate Ergebnisprozedur eingeben soll.
    da bin ich ziemlich hilflos.

    Danke schonmal
     
    schnacko, 3. Juli 2008
    #4
  5. Hi,
    für einen Neuling ist das auch heftig.

    Im Prinzip läuft das so:
    • Dein Filter muss durch die Komboboxen gesteuert werden
    • Da die Kombos beliebig befüllt sein können (keine, eine, zwei, alle), muss der "Filterbauer" immer alle Kombos abggrasen und schauen, "was die ausamchen"
    • Der "Filterbauer" ist eine VBA-Funktion oder -Subroutine, die die 3 Kombos abgrast und die gefüllten Kombos zu einem Kriterium (mit AND verbunden) zusammenbaut. Das wird dann als Filter ausgegeben.

    Lad deine DB mal hoch, dann kann ich da vielleicht den Filterbauer reinbauen.

    HTH
     
    Atrus2711, 3. Juli 2008
    #5
  6. Sooo kompliziert isses auch wieder nicht ...
    Du brauchst als erstes die Prozedur, die den Filter zusammensetzt.
    Ich gehe jetzt mal von den drei ComboBoxen cboAbteilung, cboAbtGrp und cboSchicht aus, die jeweils einen numerischen Schlüssel als gebundene Spalte haben und mit den entsprechenden Sekundärschlüsselfeldern in der Tabelle tblMitarbeiter korrespondieren. Also z.B.: Code:
    Aus den drei AfterUpdate Prozeduren brauchst Du dann nur filter_setzen() aufzurufen.
    Komplizierter wird es, wenn die Kombifelder leer sein können, dann müssen ein paar IF / ELSE herhalten. Oder wenn die Felder keine numerischen sind, dann müssen ein paar Apostrophes in den Filter-String eingebaut werden ...
     
    hcscherzer, 3. Juli 2008
    #6
  7. Hi,

    ich weiß schon, aber selbermachen ist immer einfacher als erklären... Wenn er eine DB hochladen würde, bau ich das ein.

    @hcscherzer
    Im übrigen würde ich da nicht -zig IFs bauen, sondern die nichtleeren Komboboxen in ein Array schreiben. Vorteil: das Array kann mit JOIN() zu einem String vereint werden, und *tadaa* das Trennzeichen ist einstellbar, z.B. ein AND. Damit hat man das Kriterium, egal wie viele und welche Kombos gefüllt sind, und neue Kriterien brauchen einfach nur mit Redim Preserve ans Arrays gepusht zu werden.

    HTH
    Martin
     
    Atrus2711, 3. Juli 2008
    #7
  8. Mehrere Filter in einem Formular anwenden

    Und wirklich selber machen und aus den eigenen Fehlern lernen ist zwar nicht einfacher aber nachhaltiger als etwas vorgekautes zu kopieren und eventuell nicht zu verstehen.
     
    hcscherzer, 3. Juli 2008
    #8
  9. Ich weiß. Ich unterrichte selbst *grins

    Ich weiß nicht, ob schnacko was lernen will, oder "es gemacht haben will".

    HTH
    Martin
     
    Atrus2711, 3. Juli 2008
    #9
  10. so da bin ich wieder.
    sorry das ich solange nicht da war.hatte ein paar arbeitstechnische Probleme die Prio A hatten.
    Find es aber super, dass ihr schon so eifrig Tipps gegeben habt.

    Also ich will was lernen und will auch das es klappt.
    Daher wäre es am besten, wenn es jemand in meine DB macht und ich versuche es nachzuvollziehen.
    leider kann ich die DB noch nicht hochladen, da sich aktuell grad einiges daran ändert.
    Würde dies aber gerne tun wenn ich soweit bin und dann auf eure Hilfe zurückgreifen.
    Ich melde mich sobald die DB steht.

    Bis dann und Danke
     
    schnacko, 6. Juli 2008
    #10
  11. Der Weg, der Dich besser weiter bringt, ist eine Beispiel-DB wie Suchen in der DBWiki.

    Da kannst Du eine Lösung sehen und ausprobieren, und Du hast die Aufgabe, die Beispiellösung in deine Anwendung zu übernehmen. Das ist oftmals anspruchsvoll genug, bietet aber auch die Chance auf einen relativ schnellen Erfolg.

    Der Vorschlag von Martin mit dem Array (klingt interessant) ist aber in der Bsp.-DB nicht enthalten (denke ich).
     
    ebs17, 6. Juli 2008
    #11
  12. [OT]

    Nur als Anregung für Klassenfreunde, da ich damit bisher ganz gut durchgekommen bin: ich schrieb mir einmal eine etwas aufwendigere Klasse, die die Filterfelder in einer 2. Hilfsklasse unterbringt und die Instanz dieser Hilfsklasse in eine Collection aufnimmt. Bei der Anweisung über eine Methode werden dann die gesetzten Filterwerte zusammensetzt und als Filter angewendet. Damit muss ich nur beim Laden des Formulars die Filter-Felder einmal setzen, den Rest erledigt dann die Klasse. (auch das reagieren auf Änderungen in den Filterfeldern.)

    Bei mir sieht dann z.B. die Filtereinstellung so aus:

    Code:
     
    Josef P., 6. Juli 2008
    #12
  13. Mehrere Filter in einem Formular anwenden

    Hallo Artrus 2711, Hallo auch an alle anderen,

    ich poste jetzt mal eine andere Datenbank bei der ich einen ähnlichen Filter verwenden möchte.
    Es wäre super, wenn du den Filter mal für mich programmiern könntest.

    In dem Formular möchte ich nach den Feldern M_ID,A_ID,E_ID und Status filtern können. Dabei soll es auch möglich sein, dass man alle Projekte sehen kann bzw. dass man nach mehreren der Felder filtern kann.

    Ich hoffe du verstehst was ich meine und kannst das mal für mich umsetzen.

    Danke
     
    schnacko, 8. Juli 2008
    #13
  14. Moin,
    ich bin jetzt zwar nicht Artrus, der Dir das angeboten hatte.
    Aber trotzdem finde ich: nach allem, was zu dem Thema bisher gepostet wurde und nach allem weiteren, was zum Thema 'dynamische Filter' hier im Forum zu finden ist, wenn man sich mal die Mühe macht, etwas zu suchen - Du könntest es wenigstens mal probieren, das selbst hinzukriegen. Ich bin sicher, dass Dir weitergeholfen wird, wenn Du das dann nicht schaffst.
    Aber mit der Haltung
    bist Du für mich auf dem völlig falschen Dampfer.
     
    hcscherzer, 8. Juli 2008
    #14
  15. Hi,

    @schnacko:
    Anbei die DB. Der Button rechts oben liefert dir den kompletten Filterstring. Das Einbasteln in deine Datenherkunft bleibt dir als Eigenbeitrag überlassen.

    @hcscherzer:
    Seine Haltung ist bedenklich. Aber meine Angebote halte ich bei Annahme ein. Ob ich ihm aber weitere Angebote mache? Tanstaafl...

    Gruß
    Martin
     
    Atrus2711, 8. Juli 2008
    #15
Thema:

Mehrere Filter in einem Formular anwenden

Die Seite wird geladen...
  1. Mehrere Filter in einem Formular anwenden - Similar Threads - Filter Formular anwenden

  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. Filter für Formular

    in Microsoft Access Hilfe
    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...
  6. 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...
  7. 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...
  8. 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,...
  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