Access07 / Frage zu einer Abfrage

Hallo zusammen,

bevor ich meine Frage schildere möchte ich vorweg nur sagen, dass ich ein absoluter Access „Neuling“ bin.

Habe mir vor einigen Wochen mit Hilfe von einigen Fachbüchern an eine erste kleine Datenbank mit einigen Tabellen, Formularen und Berichten gewagt. Jedoch komm ich im Moment garnicht mehr weiter und bitte um eure Hilfe und die Fachbücher verstehe ich zum Teil nicht wirklich. :wink:

Ich arbeite in einem kleinen Transportunternehmen und wir möchten die Containerplanung über Access 07 realisieren. Nun zu meiner Frage.

Es handelt sich um die Tabelle Transporterfassung, hier sind Felder hinterlegt wie z.B. Containernr, Tournr, Ladedatum, Entladedatum, Produkt, Standort

Wir möchten eine Übersicht entweder über ein Formular oder einen Bericht erstellen, wo für jede Containernr der letzte Transport angezeigt wird selectiert über das Entladedatum. Eigentlich eine Übersicht wo sich die einzelnen Container befinden, also der Datensatz mit dem ältesten Entladedatum für jeden Container.

Im Klartext heißt das, dass ich beim Bericht (oder Formular) als Quelldatei nicht die Tabelle verwenden möchte sondern eine Abfrage, wo die Daten bereits selectiert werden.

Aber wie so eine Abfrage dann auszusehen hat keine Ahnung. Eingabe über SQL-Ansicht möglich.

Oder bin ich komplett auf dem falschen Dampfer und könnte es anders auch realisieren?

Vielen Dank im Voraus.

sengueler

Hallo,

am besten gehst Du in den Abfrageentwurf, fügst die Tabelle hinzu und ziehst die (wirklich nur) nötigen Felder in die Abfragespalten. Dann klick auf das Summenzeichen, damit die Abfrage gruppiert. Wähle für die Datumspalte z. B. die Funktion MAX aus (wenn Du das „jüngste“ Datum haben willst)

Auf Basis dieser Abfrage erstellst Du den Bericht.

Viele Grüße vom Bodensee
Franz , DF6GL

PS: Feedback erwünscht!

Hallo,

also die Abfrage öffnen in der Entwurfsansicht die Containernr, Entladedatum und Standort per Doppelklick auswählen, die Summe einblenden und bei dem Entladedatum die Funktion in Max ändern. Bei den anderen zwei Feldern steht weiterhin Gruppierung.
Es funktioniert nicht wirklich, mit nur zwei Feldern (Containernr und Entladedatum) funktioniert es sobald ich aber den Standort hinzufüge hat er pro Container nicht nur einen Datensatz sondern mehrere, aber ich möchte ja für jeden Container nur einen Datensatz anzeigen und zwar den jüngsten.

Wenn ich bei Standort auch Max eingebe stimmt jedoch die Zuordnung der Felder nicht mehr.

LG sengueler

Hallo,

vielleicht hilft Dir das:

Wenn Du in der Abfrage z.B. vier Felder einfügst und die Gruppierung einschaltest (Summenzeichen anklicken), dann passiert folgendes: In der Abfrage wird zunächst jedes Feld zu einer Gruppe definiert. Dadurch erscheint natürlich jeder Satz. Wenn das nicht gewünscht wird, dann kommt es auf die Reihenfolge der Felder an.

In Deinem Beispiel muss Du die ContainerNr als erstes und das Datum als zweites Feld in die Abfrage ziehen. Dann folgen die restlichen Felder.
Dann die Gruppierung einschalten. Im ersten Feld die Gruppierung lassen. Im zweiten Feld auf „Maxwert“ einstellen und in den anderen Feldern auf „Erster Wert“ setzen.

Rückmeldung erwünscht.

Gruß

MB

Huhu danke für deine Antwort.

Habe es getestet, jedoch wenn mehrere Datensätze pro Container mit Unterschiedlichen Standorten und Entladedatum erfasst sind, bringt Access die Zuordnung ab dem Entladedatum durcheinander:

Also Containernr, Max Entladedatum (jüngstes Datum) stimmen, jedoch der Standort stimmt dann nicht mehr überein wie in der Tabelle an diesem Tag für den Container erfasst wurde.

Die Abfrage prüft also nicht welcher Ort wurde für den Container an dem Jüngsten Datum erfasst, sondern er prüft welcher Ort würde für den Container als Erstes erfasst, dieser wird dann übergeben.

LG sengueler

Hallo,

wenn ich Dein Problem richtig verstanden habe, dann gibt es einen Container zu einem bestimmten Datum und zu diesem Datum wiederung mehrere Standorte?

Wenn dem so ist, dann kannst Du doch auch im Feld „Standorte“ alle angebotenen Funktionen (wie ersterWert, letzterWert, Max, Min. usw.) anwenden. Probier mal aus, was passt.

Gruß

MB

Hallo,

theoretisch funktioniert es mit dem letzten Wert beim Entladedatum und beim Standort, da man davon ausgehen kann, dass der letzte Wert auch immer der jüngste Wert ist.

Das einzige Problem ist, sollte es mal Ausnahmsweise der letzte Wert nicht der jüngste Wert sein, dann würde der Bericht den falschen Datensatz ablichten, sollte es jedoch keine andere Möglichkeit geben, müssen wir wohl damit leben. :wink:

Vielen Dank für eure Hilfe.

LG sengueler

Warum legst Du nicht ganz einfach zusätzlich ein Feld für eine Zeitangabe an. Jede Containerbewegung wird dort zeitlich dokumentiert und Du kannst immer den aktuellsten Stand ermitteln.

Ich habe dies mal bei einer Inventarisierung-Software so gemacht, da der Nutzer z.B. die Datensätze in der Reihenfolge (also zeitlich) sortiert haben wollte, wie er sie auch eingegeben hat. Bei jeder neuen Satzanlage wurde die Zeit mit abgespeichert.