none
Kombinationsfeld / Datensatzherkunft per Button ändern

    Frage

  • Liebe Profis,

    ich bin lediglich Hobby-Programmierer und stoße gerade an meine Grenzen.

    Ich habe eine Teilnehmerdatenbank geschrieben (Beispiel: Name, Vorname, Betreuer). Ich habe nun Schaltflächen für die Betreuer eingebaut. Klicke ich auf den Button Schmitz, dann werden auch nur noch die Teilnehmer mit dem Betreuer Schmitz angezeigt. Das geschieht über folgende "AnwendenFilter"-Funktion: 

    [TblTeilnehmer]![Betreuer]="Schmitz" Und [TblTeilnehmer]![Aktueller Status]<>"AUSGESCHIEDEN"

    Jetzt möchte ich aber auch erreichen, das in einem GeheZuFeld (Kombinationsfeld582) nur noch die Nachnamen, Vorname der Teilnehmer von Betreuer Schmitz angezeigt werden.

    Früher hatte ich für jeden Betreuer ein eigenes Formular, da habe ich das GeheZuFeld folgendermaßen gefiltert:

    SELECT [QryErweiterte Teilnehmer 06].Teilnehmer_ID, [QryErweiterte Teilnehmer 06].Nachname, [QryErweiterte Teilnehmer 06].Vorname FROM [QryErweiterte Teilnehmer 06]; 

    Denke ich zu kompliziert? Gibt es vielleicht eine einfachere Methode das GeheZuListenfeld per Button nachträglich mit einer bestimmten Abfrage zu aktualisieren?

    Über Hilfe würde ich mich freuen

    Lieben Gruß Rainer

    Donnerstag, 10. Juli 2014 18:20

Alle Antworten

  • Hallo Rainer,

    Du kannst innerhalb von Abfragen auf Steuerelemente im Formular Bezug nehemen, siehe z. B.:

    Access FAQ 4.36 Abhängige Kombi/Listenfelder (und andere mehr).

    Solange Du den Betreuer (wie oben "Schmitz") irgendwo in einem Formularfeld hast, kannst Du die Abfrage darauf Bezug nehmen lassen (und kommst mit einem Formular für alle Betreuer aus).

    Gruß Elmar

    P. S. Namen wie Kombinationsfeld582 sollte man einen dem Inhalt angemessenen Namen geben, sonst kriegt man in einigen Monaten oder Jahren Schwierigkeiten, seinen Abfragen und Code zu verstehen.

    Donnerstag, 10. Juli 2014 20:01
  • Hallo Elmar, den Betreuer gibt es auch in diesem Formular Feld: "Betreuer". Deinen vorgeschlagenen Artikel hatte ich auch schon gefunden, leider hat der mich auch nicht wirklich weitergebracht, weil ich ihn nicht verstehe. Du schriebst ich kann das GeheZuFeld in der Abfrage berücksichtigen, aber ich habe doch gar keine Abrage mehr, lediglich eine AnwendenFilter, die ich auf den Buitton "Schmitz" gelegt habe.

    Anwenden Filter Bedingung: [TblTeilnehmer]![Betreuer]="Schmitz" Und [TblTeilnehmer]![Aktueller Status]<>"AUSGESCHIEDEN"

    Wie könnte ich denn jetzt weiter vorgehen? Kann ich die Schaltfläche erweitern?

    Gruß Rainer

     
    Freitag, 11. Juli 2014 16:24
  • Hallo Rainer,

    naja, Makros sind nicht so mein Ding, ich programmiere lieber richtig (in VBA) ;)

    Aber Du kannst auch in einem Makro Bezug auf ein Formular Feld nehmen, in der Form

    Forms![Formular Name]![Steuerelement Name]

    wobei [Formular Name] der Name des Formulars und [Steuerelement Name] das Steuerelement ist, dessen Wert hier "Schmitz" sein sollte (oder der eines anderen Betreuers). Die Filterbedingung wäre - mit entsprechenden Ersetzungen:

    [TblTeilnehmer]![Betreuer]=Forms![Formular Name]![Steuerelement Name] Und [TblTeilnehmer]![Aktueller Status]<>"AUSGESCHIEDEN"

    Siehe dazu auch: AnwendenFilter-Makroaktion (da findet sich auch ein Beispiel)

    Gruß Elmar

    Freitag, 11. Juli 2014 16:38
  • Leider habe ich immer noch keine Ahnung was ich machen muss.

    Wie gesagt, ich bin kein Programmierer.

    Freitag, 11. Juli 2014 16:56
  • Hallo Rainer,

    ein klitzeklein wenig wirst Du aber schon zu einem Programmierer werden müssen. Und deren wichtigste Eigenschaft ist Experimentierfreude :)

    Ich kann Dir von hier nicht mehr zeigen, als was im Ausdruck von Anwenden Filter stehen muss, damit es funktioniert.

    Voraussetzung ist hier nur ein Steuerelement (Text oder auch Listen-/Kombinationsfeld) auf das der Filter Bezug nehmen kann.

    Gruß Elmar

    Freitag, 11. Juli 2014 19:00