Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Aktuellstes Datum in einer Abfrage ausgeben

175 views
Skip to first unread message

wolfgang...@rb-32939.raiffeisen.at

unread,
Oct 2, 2007, 6:32:00 AM10/2/07
to
Hallo!

Ich bin ein nicht so versierter Access-User und brauche daher eure
Hilfe!

In einer Tabelle habe ich die Spalten:

Kundennummer, Name, Datum, Info (=Textfeld)

Zu einer Kundennummer werden normalerweise mehrere Datensätze an
unterschiedlichen Tagen (Datum) erfasst. Mittels einer Abfrage möchte
ich nun den Datensatz mit dem aktuellsten Datum ausgeben also den
aktuellsten Eintrag pro Kunde.

Wie kann ich meine Anforderung mit einer ganz Abfrage lösen ohne dass
ich großartig programmieren muß?

Bitte um Hilfe!!

VIELEN DANK

Peter Doering

unread,
Oct 2, 2007, 7:42:44 AM10/2/07
to
Hallo,

wolfgang...@rb-32939.raiffeisen.at wrote:

> In einer Tabelle habe ich die Spalten:
>
> Kundennummer, Name, Datum, Info (=Textfeld)
>
> Zu einer Kundennummer werden normalerweise mehrere Datensätze an
> unterschiedlichen Tagen (Datum) erfasst. Mittels einer Abfrage möchte
> ich nun den Datensatz mit dem aktuellsten Datum ausgeben also den
> aktuellsten Eintrag pro Kunde.
>
> Wie kann ich meine Anforderung mit einer ganz Abfrage lösen ohne dass
> ich großartig programmieren muß?

SELECT Kundennummer, Name, Datum, Info
FROM DeineTab AS T1
WHERE T1.Datum In
(SELECT Max(Datum)
FROM DeineTab AS T2
WHERE T2.Kundennummer = T1.Kundennummer)

Gruss - Peter

--
Ich beantworte keine Fragen per Email.
Mitglied im http://www.dbdev.org
FAQ: http://www.donkarl.com

Jens Schilling

unread,
Oct 2, 2007, 7:54:34 AM10/2/07
to
Hallo,

wolfgang...@rb-32939.raiffeisen.at wrote:
> Kundennummer, Name, Datum, Info (=Textfeld)
> Zu einer Kundennummer werden normalerweise mehrere Datensätze an
> unterschiedlichen Tagen (Datum) erfasst. Mittels einer Abfrage möchte
> ich nun den Datensatz mit dem aktuellsten Datum ausgeben also den
> aktuellsten Eintrag pro Kunde.
>
> Wie kann ich meine Anforderung mit einer ganz Abfrage lösen ohne dass
> ich großartig programmieren muß?

Eine Lösung hat Peter dir ja bereits gegeben; erlaube mir noch den Hinweis,
dass Du die Felder Name und Datum umbenennen solltest, da diese zu den
reservierten Wörtern gehören. Mehr dazu kannst Du u.a. hier lesen :

http://support.microsoft.com/kb/286335/en-us

--
Gruss
Jens
______________________________
FAQ: http://www.donkarl.com

10. Access-Entwickler-Konferenz (AEK)
Nürnberg 6./7.10.2007 und 20./21.10.2007
http://www.donkarl.com/?AEK


wolfgang...@rb-32939.raiffeisen.at

unread,
Oct 2, 2007, 9:52:02 AM10/2/07
to
On 2 Okt., 13:42, Peter Doering <nos...@doering.org> wrote:
> Hallo,

Vielen Dank für deine Antwort Peter!
Wie gesagt, ich nutze Access eher oberflächlich und weiß daher nicht,
wo genau ich das Eintragen muß.
Bitte um Info!

Vielen DANK - Wolfgang

Karl Donaubauer

unread,
Oct 2, 2007, 10:44:54 AM10/2/07
to
wolfgang...@rb-32939.raiffeisen.at wrote:

> Peter Doering wrote:
>>> In einer Tabelle habe ich die Spalten:
>>
>>> Kundennummer, Name, Datum, Info (=Textfeld)
>>
>>> Zu einer Kundennummer werden normalerweise mehrere Datensätze an
>>> unterschiedlichen Tagen (Datum) erfasst. Mittels einer Abfrage
>>> möchte ich nun den Datensatz mit dem aktuellsten Datum ausgeben
>>> also den aktuellsten Eintrag pro Kunde.
>>
>>> Wie kann ich meine Anforderung mit einer ganz Abfrage lösen ohne
>>> dass ich großartig programmieren muß?
>>
>> SELECT Kundennummer, Name, Datum, Info
>> FROM DeineTab AS T1
>> WHERE T1.Datum In
>> (SELECT Max(Datum)
>> FROM DeineTab AS T2
>> WHERE T2.Kundennummer = T1.Kundennummer)
>
> ...

> Wie gesagt, ich nutze Access eher oberflächlich und weiß daher nicht,
> wo genau ich das Eintragen muß.
> ...

Was Peter dir schrieb ist SQL-Text (der eine sog. Unterabfrage
enthält). Die Entwurfsansicht einer Access-Abfrage ist nur ein
grafischer Assistent. Die Abfrage besteht eigentlich aus
SQL-Text. Deshalb hat jede Abfrage auch eine SQL-Ansicht.
Vorgehen:

- neue Abfrage erstellen
- in der Entwurfsansicht Menü Ansicht/SQL-Ansicht wählen
- Peters SQL-Text in diese Ansicht hineinkopieren. Falls in der
SQL-Ansicht schon etwas steht, dann ersetzt du das durch
Peters Text.
- Jetzt kannst du in die Daten- oder Entwurfsansicht der
Abfrage wechseln und hoffen, dass alles funktioniert

Wenn du noch wenig Erfahrung mit SQL und Abfragen hast,
ist es einfacher, die Aufgabe mit 2 Abfragen zu lösen, die
aufeinander aufbauen. Dann kannst du alles an der grafischen
Access-Oberfläche erledigen. Vorgehen:

- erste neue Abfrage auf Basis deiner Tabelle erstellen
- nimm die Felder Kundennummer und Datum in die Abfrage
- wähle Menü Ansicht/Funktionen, das erzeugt eine neue Zeile
im Abfragegitter unten
- in dieser Zeile "Funktionen" belässt du bei der Kundennummer
"Gruppierung", bei Datum wählst du "Max" als Funktion
- speichere die Abfrage

- zweite neue Abfrage erzeugen mit deiner Tabelle und deiner
gerade erstellten Abfrage
- Verknüpfe die beiden über das Feld Kundennummer und über
das Datumsfeld und lass dir die gewünschten Felder anzeigen
- fertig

--
HTH
Karl
********* Ich beantworte keine Access-Fragen per Email. *********
Access-FAQ: http://www.donkarl.com + Info zur
Access-Entwickler-Konferenz (AEK10) im Oktober in Nürnberg


Peter Doering

unread,
Oct 2, 2007, 11:12:39 AM10/2/07
to
Hallo,

wolfgang.hofbauer wrote:


> Peter Doering wrote:
>>
>> wolfgang.hofba...@rb-32939.raiffeisen.at wrote:
>>> In einer Tabelle habe ich die Spalten:
>>
>>> Kundennummer, Name, Datum, Info (=Textfeld)
>>
>>> Zu einer Kundennummer werden normalerweise mehrere Datensätze an
>>> unterschiedlichen Tagen (Datum) erfasst. Mittels einer Abfrage möchte
>>> ich nun den Datensatz mit dem aktuellsten Datum ausgeben also den
>>> aktuellsten Eintrag pro Kunde.
>>
>>> Wie kann ich meine Anforderung mit einer ganz Abfrage lösen ohne dass
>>> ich großartig programmieren muß?
>>
>> SELECT Kundennummer, Name, Datum, Info
>> FROM DeineTab AS T1
>> WHERE T1.Datum In
>> (SELECT Max(Datum)
>> FROM DeineTab AS T2
>> WHERE T2.Kundennummer = T1.Kundennummer)
>

> Wie gesagt, ich nutze Access eher oberflächlich und weiß daher nicht,
> wo genau ich das Eintragen muß.

Siehe Karls Beschreibung. Sei noch erwaehnt, dass deine Tabelle
wahrscheinlich nicht "DeineTab" heisst und du den Namen sowohl in der
Haupt- als auch Unterabfrage ersetzen musst, am besten gleich nach dem
Einfuegen in der SQL-Ansicht.

Gruss - Peter

--
Ich beantworte keine Fragen per Email.

wolfgang...@rb-32939.raiffeisen.at

unread,
Oct 3, 2007, 6:29:17 AM10/3/07
to
On 2 Okt., 16:44, "Karl Donaubauer" <NoS...@donkarl.com> wrote:
> Access-FAQ:http://www.donkarl.com+ Info zur
> Access-Entwickler-Konferenz (AEK10) im Oktober in Nürnberg- Zitierten Text ausblenden -
>
> - Zitierten Text anzeigen -

Vielen Vielen Dank!!!

Hat super funktioniert!!!

lg
Wolfgang

0 new messages