Access-o-Mania

Access-Forum (Deutsch/German) => Bericht => Thema gestartet von: Graydens am November 10, 2024, 09:16:15

Titel: Schaltflächen für Filterung anlegen
Beitrag von: Graydens am November 10, 2024, 09:16:15
Hallo

Ich habe einen Bericht erstellt mit sämtlichen ofenen Wartungen unserer Techniker.

Die Darstellung von allen Technikern funktioniert schon gut mit meinen gesetzten Filtern in der Abfrage.

Jetzt würde ich gern ein Formular basteln wo ich eine Anzahl an Schaltflächen den Technikern entsprechend anlege.

Also zb Schaltfläche mit DM.

Löse ich diese Schaltfläche mit Klicken aus, soll sich der Bericht öffen und nach dem Kürzel DM gefiltert sein.
Das öffnen gelingt mir mit der ÖffneBericht Option. Aber leider wird mir nicht gefiltert.

Müsste der Filter nicht so lauten:
[Techniker.Techniker]="DM"   // also es soll nach DM in dem Feld Techniker gefiltert werden
oder
[Techniker].[Techniker]="DM"

Screenshot 2024-11-10 091320.jpg

lg und Danke
Titel: Re: Schaltflächen für Filterung anlegen
Beitrag von: MzKlMu am November 10, 2024, 10:57:03
Hallo,
wie bereits gesagt verzichte unbdingt auf Makros, verwende VBA. Zu Makros gibt es hier relativ wenig Hilfe,
Als VBA Code im Ereignis "Beim Klicken" diese Zeile:
DoCmd.OpenReport "[Offene QK (3Monate]", acViewPreview, , "Techniker = 'DM'"Wegen des problematischen Berichtsnamens das [] Klammerpaar nicht vergesen. DM muss in Hochkomma eingeschlossen werden.

Trotzdem ein Hinweis zum Makro (ohne Gewähr):

Du hast ja keinen Namen für den Filter, oder hast Du einen vergeben?
Deine Filter ist eine Bedingung und gehört auch in die entsprechende Zeile.
Techniker = "DM"Den Tabellennamen braucht es hier nicht.
Außerdem ist "Bericht" als Ansicht ungeeignet, die Berichtsansicht entspricht nicht dem Ausdruck, Hier ist "Seitenansicht" zu verwenden.
Titel: Re: Schaltflächen für Filterung anlegen
Beitrag von: Graydens am November 10, 2024, 11:29:52
Hallo

Ich habs jetzt nur einfacheren analyse auf den Berichtsnamen auf Of geändert, damit ich mich hier in nichts verlaufe.

Private Sub DM_Click()
    DoCmd.OpenReport "Of", acViewPreview, , "Techniker = 'DM'"
End Sub

Leider passiert trotzdem nichts wenn ich auf die Schaltfläche klicke. Muss ich den Code noch irgendwie abspeichern, damit der wirkt.

Naja das mit den Makros wäre vermutlich nicht lange gut gegangen, da ich im späteren den Bericht gefiltert als Mail weiterleiten will. :-)

lg und vielen Dank
Titel: Re: Schaltflächen für Filterung anlegen
Beitrag von: MzKlMu am November 10, 2024, 11:51:29
Hallo,
steht im Feld für den Techniker wirklich "DM", oder steht da im Hintergrund die Schlüsselzahl drin ?
Ist das Feld mit dem Techniker im Formular/Tabelle ein Nachschlagefeld ?
Probiere mal in einer Abfrage ob der Eintrag "DM" als Kriterium funktioniert.

Nein, der Code muss nicht extra abgespeichert werden.

PS:
Bitte für Codedarstellungen immer die Codetags verwenden.
Titel: Re: Schaltflächen für Filterung anlegen
Beitrag von: Beaker s.a. am November 10, 2024, 12:15:56
Hallo,

Mal ein Einwand an die Vorgehensweise an sich.
Buttons für die Techniker anzulegen macht nicht viel Sinn; - bei
Personalwechsel musst du Formular und Code anpassen. Das sollte bei
einer laufenden DB nicht nötig/möglich sein.
Nimm statt dessen ein Kombifeld auf Basis der Techniker-/Personal-
Tabelle. Das ist immer aktuell, und du hast keine fest verdrahteten
Parameter im Code.

gruss ekkehard
Titel: Re: Schaltflächen für Filterung anlegen
Beitrag von: Graydens am November 10, 2024, 12:41:42
Hallo

Das mit einem Kombifeld würde mir vermutlich auch besser gefallen.

Wie würde man dass dann anlegen, kommt auf ein eigenes Formular? Danach wählt man den Techniker aus und generiert den Report mit einem anderen Steuerelement? Zusätzlich würde ich dann jeden Techniker den Bericht gefiltert auf ihn mit einem Steuerelemnt per Mail vordefiniert zukommen lassen.

Mit den eigenen Steuerlementen habe ich das ganz gut hinbekommen. Ein Button für DM Bericht aufrufen, der ander ruft den Bericht auf und macht Mail fertig. Bei dem 2ten Button würde ich vermutlich nicht brauchen das der Bericht nochmal aufgeht.

So viel Techniker sind bei uns nicht, und Wechsel gibt es selten bis gar nicht. Aber wie oben beschriebn, besser wäre natürlich mit Dropdown.

lg
lg
Titel: Re: Schaltflächen für Filterung anlegen
Beitrag von: MzKlMu am November 10, 2024, 12:54:46
Hallo,
das Kombi käme auf das gleiche Formular wie die Buttons.
Gibt es in der Tabelle der Techniker eine Feld für den Primärschlüssel ?
Wenn ja was ist das für ein Feld, Autowert ?
Titel: Re: Schaltflächen für Filterung anlegen
Beitrag von: Graydens am November 10, 2024, 20:18:05
Hallo

Ja ist ein AutoWert.

lg
Titel: Re: Schaltflächen für Filterung anlegen
Beitrag von: MzKlMu am November 11, 2024, 15:33:58
Hallo,
Du solltest mit dem Kombi über den PS auswählen zum Drucken.
Das Kombi braucht eine Abfrage mit der Techniker Tabelle der ID als 1. Spalte und dem Namen als 2. Spalte.
Kombieinstellungen:
Spaltenzahl: 2
Spaltenbreiten 0cm;3cm (Spalte mit ID wird ausgeblendet)
Gebunden Spalte: 1

Im Ereigenis "Nach Aktualisierung" des Kombis dann folgenden Code:

DoCmd.OpenReport "Of", acViewPreview, , "IDTechniker = " & Me.KombifeldName