Neuigkeiten:

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

Mobiles Hauptmenü

Abfragenproblem mit Datum

Begonnen von retepi, März 09, 2024, 17:13:40

⏪ vorheriges - nächstes ⏩

retepi

Hallo
Ich habe in Access Daueraufträge gespeichert. Die Aufträge sollen in bestimmten Abständen erledigt werden. Nun haben wir eine Abfrage gemacht die leider nicht geht.

Für Kunde A müssen wir z.B. den Auftrag1 alle 4 Wochen einen Job erledigen. Job B alle 7 Wochen usw. Angenommen wir machen das am 01.01.2023 erstmalig. Bei der Abfrage aller Job für Monat März 2024 müssten dann alle Job aufgelistet sein, welche im März 2024 auszuführen sind.

Bei uns ist es aber so, dass Access alle Datum auflistet ab 01.01.2023 anstatt das letzte Datum. Access ist so codiert, dass es immer das Datum plus Intervall in Wochen als neues Datum rechnet. Eigentlich sollte er nur anzeigen welcher Job der letzte war.

Die DB ist so gemacht, dass Access weiss, welcher Kunde mit welchem Job in welchem Intervall zu erledigen ist. Grundsätzlich funktioniert das System. Es zeigt einfach alle Daten an und nicht nur den letzten Job.

Gibt es da eine Lösung Möglichkeit? Danke für eure Hilfe.

ebs17

ZitatNun haben wir eine Abfrage gemacht die leider nicht geht.
Dann korrigiere die Abfrage.
Nach derzeitiger Beschreibung gehst Du dazu in einen Zauberladen und besorgst Dir Feenstaub.
Mit freundlichem Glück Auf!

Eberhard

retepi

Die Abfrage sollte:

Den Kunden sortieren
Alle Aufträge mit dem Datum im entsprechenden Datum raussuchen
Nur den letzten Wert/letzte Ausführung anzeigen und nicht alle bisherigen.

Mein Codierer kriegt das nicht hin.... Access zeigt immer alles an.
Danke für die Hilfe.

markusxy

Vielleicht zeigst du einfach mal wie die Tabellen und die Abfrage bisher aussehen.

Ein Tipp um es einfach zu gestalten:
In der Konfigurations-Tabelle wo du die Aufträge pro Kunden festhälts könntest du pro Auftrag das nächste Rechnungsdatum  hinterlegen. Wenn du dann den Datensatz für die Rechnung erstellst, anschließend auf das nächste Rechnungsdatum aktualisieren.


retepi

danke für die infos. hatte diese woche viel zu tun, daher schreibe ich erst jetzt.
ich habe der datenmaske für jedes abo eine history, wo ich alle datum's der ausführungen sehe. bei der monatlichen abfrage interessieren mich aber nur die fälligen datum's.


abonr.
letzte ausführung
intervall in wochen
nächste ausführung

abonr. 2
letzte ausführung 01.03.2024
intervall 4 wochen
nächste ausführung 01.04.2024

wenn das abo seit z.b. 01.10.2023 besteht werden in der abfrage "welche abo sind im april 2024 fällig".

zeigt er wohl alle an, aber z.b. bei abo 2 steht dann

abo 2  letzte ausführung 01.10.2023 intervall 4 wochen nächste ausführung 01.11.2023
abo 2  letzte ausführung 01.11.2023 intervall 4 wochen nächste ausführung 01.12.2023
abo 2  letzte ausführung 01.12.2023 intervall 4 wochen nächste ausführung 01.01.2024
abo 2  letzte ausführung 01.01.2024 intervall 4 wochen nächste ausführung 01.02.2024
abo 2  letzte ausführung 01.02.2023 intervall 4 wochen nächste ausführung 01.03.2024
abo 2  letzte ausführung 01.03.2024 intervall 4 wochen nächste ausführung 01.04.2024


anzeigen sollte er mir aber nur die letzte zeile, da die anderen irrrelevant sind.
einfach gesagt, zeige mir alle abo's die im april 2024 fällig sind. die vorherigen datumseinträge sind nicht anzuzeigen. gruppiere jede abonr. und zeige den höchsten wert an (einfach geschrieben).

sollte doch irgendwie möglich sein.

Beaker s.a.

Zitathöchsten wert
Dann suche doch mal nach Funktionen/Vergleichsmöglichleiten, die einen
solchen Wert bestimmen.
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes 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)

markusxy

Zitat von: retepi am März 16, 2024, 08:47:30zeige mir alle abo's die im april 2024 fällig sind

Filtere auf

nächste ausführung = 01.04.2024

Konkreteres kann man ohne Beziehungsbild nicht sagen.
Du solltest auch den SQL Text aktuellen Abfrage zeigen.

PhilS

Zitat von: retepi am März 16, 2024, 08:47:30anzeigen sollte er mir aber nur die letzte zeile, da die anderen irrrelevant sind.
einfach gesagt, zeige mir alle abo's die im april 2024 fällig sind. die vorherigen datumseinträge sind nicht anzuzeigen. gruppiere jede abonr. und zeige den höchsten wert an (einfach geschrieben).
Den höchsten Wert kann man in einer Abfrage mit der MAX Aggregatfunktion ermitteln. - Konkreter kann mit deinen spärlichen Informationen dazu nicht werden.
Du kannst dir mal diesen Text zur Darstellung von Daten aus einer 1-N Beziehung anschauen. - Im übertragenem Sinne geht es da genau um deine Problemstellung.
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

Beaker s.a.

Ich sehe da im Moment drei Möglichkeiten
- MAX(Datum), hat Philip angeführt, zeigt das am weitesten in der Zukunft
liegende Datum
- Datum >= Date, zeigt alle DS heute und in der Zukunft
- SELECT TOP 1
..
ORDER BY Datum DESC
zeigt das Gleiche wie MAX()
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes 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)

retepi

Hallo Leute

Danke.
Ich habe jemand gefunden der das in den Griff bekommen hat. Es läuft auf die MAX Geschichte hinaus. Wir haben noch ein zwei andere Dinge mit einfliessen lassen.

Danke an alle ernstgemeinten Inputs!  :)