Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Schaltflächen für Filterung anlegen

Begonnen von Graydens, November 10, 2024, 09:16:15

⏪ vorheriges - nächstes ⏩

Graydens

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"

Sie dürfen in diesem Board keine Dateianhänge sehen.

lg und Danke

MzKlMu

#1
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.
Gruß Klaus

Graydens

#2
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

MzKlMu

#3
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.
Gruß Klaus

Beaker s.a.

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
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, läßt etwas anderen geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

Graydens

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

MzKlMu

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 ?
Gruß Klaus

Graydens


MzKlMu

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
Gruß Klaus