Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: Matthias_001 am April 23, 2024, 12:02:07

Titel: Einsatztage von Monteuren aus Tabelle ermitteln
Beitrag von: Matthias_001 am April 23, 2024, 12:02:07
Liebe Community,

ich habe eine wohl eher einfache Fragestellung:

Die Arbeitsstunden unser Monteure werden mit Access erfasst - die Tabelle soll hier mal "T_Zeiterfassung" heissen.
An manchen Tagen arbeitet nur 1 Kollege auf Baustelle x, an anderen Tagen auch mehrere.
So gibt es an einigen Tagen mehrere Einträge, an anderen evtl. auch nur einen Eintrag für diese Baustelle.
Wie kann ich in VBA die Anzahl der Einsatztage dieser Baustelle ermitteln?

In meinem Beispiel liefert:
Anzahl = Nz(DCount("Datum_Einsatz", "T_Zeiterfassung", "ID_Auftrag= " & ID_Auftrag))
die Gesamtanzahl der Einträge.

Ziel: Der Kunde bekommt je Einsatztag eine Anfahrtpauschale berechnet, diese ist aber unabhängig davon welcher Monteur bzw. wie viele Monteure auf der baustelle waren...

Könnt und mögt ihr helfen ?!

LG Matthias
Titel: Re: Einsatztage von Monteuren aus Tabelle ermitteln
Beitrag von: Beaker s.a. am April 23, 2024, 17:26:26
Hallo Matthias,

Musst du in einer richtigen Abfrage zählen, wobei du nach dem Datums-Feld
gruppierst.
Luftcode
PARAMETERS AuftragsID As Long:
SELECT Count(Datum_Einsatz) AS Tage
FROM T_Zeiterfassung
WHERE ID_Auftrag = AuftragsID
GROUP BY Datum_Einsatz

gruss ekkehard
Titel: Re: Einsatztage von Monteuren aus Tabelle ermitteln
Beitrag von: Matthias_001 am April 23, 2024, 18:26:49
Hallo Ekkehard,

hab Vielen Dank.
Der Weg ist also in diesem Fall grundsätzlich nicht ohne "zwischengeschaltete" Abfrage möglich.
Das heisst:
1. Abfrage erstellen mit Gruppierung
2. Zählen der Datensätze in der Abfrage
   Anzahl = Nz(DCount("Datum_Einsatz", "_erstellte_Abfrage", "ID_Auftrag= " & ID_Auftrag))
... so klappt es jedenfalls.

Mit Deinem "Luftcode" konnte ich so direkt nichts anfangen... das sollte der sql-code der Abfrage sein?!
Titel: Re: Einsatztage von Monteuren aus Tabelle ermitteln
Beitrag von: Beaker s.a. am April 24, 2024, 16:02:15
Zitatdas sollte der sql-code der Abfrage sein?!
Genau. Schalte deine Abfrage in die SQL-Ansicht, - die sollte so
ähnlich ausschauen.
Titel: Re: Einsatztage von Monteuren aus Tabelle ermitteln
Beitrag von: MzKlMu am April 24, 2024, 16:07:17
Hallo,
kleine Anmerkung:
Nz braucht es hier nicht. DCount kann nicht Null (Nix) liefern. Wenn es nichts zu zählen gibt wird eine 0 (die Zahl) angezeigt.
Titel: Re: Einsatztage von Monteuren aus Tabelle ermitteln
Beitrag von: Matthias_001 am April 25, 2024, 07:30:07
... lieben Dank. Passt.