MS-Office-Forum
Google
   

Zurück   MS-Office-Forum > Microsoft Access & Datenbanken > Microsoft Access
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads Der Renner, 11 Entwicklertools für Access, Tipps & Trick und offene Datenbanken zum einzigartigen Preis.
Themen-Optionen Ansicht
Alt 21.11.2005, 14:45   #1
Hartmut_M
MOF User
MOF User
Standard Acc97 - Abfrage neustes / jüngstes Datum

Hallo,
habe in einer Tabelle zu gleichen Personal-Nummern mehrere Datensätze mit verschiedenen Datumseingaben. Möchte gerne eine Abfrage erstellen, in der zu jeder P-Nr. der Datensatz mit dem neusten Datum angezeigt wird.
Kenne aber nicht den Ausdruck für das Abfragekriterium "neustes Datum".
Kann mir da jemand auf die Spünge helfen? Vielen Dank im Voraus.
Hartmut
Hartmut_M ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 21.11.2005, 14:49   #2
Arne Dieckmann
MS-Office-Forum Team MS-Office-Forum Team
Standard

Ungefähr so sollte es gehen:
Code:

SELECT 
  PersNr, 
  Max(Datumsfeld) FROM Tabelle
GROUP BY PersNr;

__________________

Gruß, Arne

Links: FAQGrundlagenRelationale DatenbankenStephen LebansDBWiki
Tools: TabToWebSQL-FormatterCode Converter
System: Win7 Pro 64bit, Office 20xx, div. MS-SQL Server 20xx, Firefox
Bitte keine Fragen per Mail/PN und als Neuling diese Anleitung (Code-Tags, Anhänge etc.) lesen.
Arne Dieckmann ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 21.11.2005, 14:50   #3
Morli
MOF Koryphäe
MOF Koryphäe
Standard

Das sollte in einer Gruppierungsabfrage über die Funktion Max auf das Datum zu erledigen sein.

Morli

__________________

SQL-Server/Access2010/WinXP
Morli ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 21.11.2005, 15:04   #4
Hartmut_M
Threadstarter Threadstarter
MOF User
MOF User
Standard Komme noch nicht klar

Vielen Dank für die erste Hilfe. Ich wollte das eigentlich nicht in VBA eingeben, sondern in die Tabelle der Entwurfsansicht.
Habe dort bei P-Nr. Funktion "Gruppierung" und bei Datum Kriterien "max" eingetragen.

Es erscheint dann der Hinweis:
You tried to execute a query that doesn't include the specified expression 'Name' as Part of an aggregate function.

Wo liegt denn da der Fehler?

Hartmut
Angehängte Grafiken
Dateityp: jpg access.jpg (18,6 KB, 27x aufgerufen)
Hartmut_M ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 21.11.2005, 15:07   #5
Arne Dieckmann
MS-Office-Forum Team MS-Office-Forum Team
Standard

Das, was ich geschrieben habe, ist kein VBA, sondern die SQL-Ansicht einer Abfrage - also das, was du zusammenklickst.

"Name" (schlechter Feldname!) muss dann entweder ebenfalls gruppiert werden, was aber das Ergebnis verfälschen könnte, oder du lässt dieses Feld weg.

__________________

Gruß, Arne

Links: FAQGrundlagenRelationale DatenbankenStephen LebansDBWiki
Tools: TabToWebSQL-FormatterCode Converter
System: Win7 Pro 64bit, Office 20xx, div. MS-SQL Server 20xx, Firefox
Bitte keine Fragen per Mail/PN und als Neuling diese Anleitung (Code-Tags, Anhänge etc.) lesen.
Arne Dieckmann ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 21.11.2005, 15:20   #6
Hartmut_M
Threadstarter Threadstarter
MOF User
MOF User
Standard

Hallo Arne,
jetzt wo Du's sagst dämmert mir wieder was ich mal am Seminar gelernt habe. Hatte die verschiedenen Ansichtsmöglichkeiten vergessen.
Die Abfrage funktioniert jetzt einwandfrei.
Tue mich in Access noch ein wenig schwer. Mein Spezialgebiet ist alles rund um Excel.
Vielen Dank nochmal für die schnelle Hilfe (mit Denkanstößen) ;-))
Gruß Hartmut
Hartmut_M ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 21.11.2005, 18:34   #7
Hartmut_M
Threadstarter Threadstarter
MOF User
MOF User
Traurig Bitte nochmals um Hilfe!

Hallo Arne,
hab mich leider zu früh gefreut. Hier nochmals mein Problem:
Tabelle hat folgende Felder:
P-Nummer, Datum, Name, Titel

Zu jeder P-Nummer können an verschiedenen Daten Titel vergeben werden.
In der Abfrage möchte ich nun anzeigen lassen, was der aktuelle Titel ist. Ich benötige also das neuste Datum mit dem dazugehörigen Titel.

Der von Dir genannte Code zeigt mir im Ergebnis die P-Nummer mit dem Datum an. Nur wenn ich noch zusätzlich den Titel gruppiere, erscheinen alle Titel mit dem dazugehörigen Datum, weil die Titel ja unterschiedliche Bezeichnungen haben.

Gibt es die Möglichkeit in der Abfrage zusätzlich zu sagen: Zeige den Titel der am "max-datum" zu der P-Nummer Gültigkeit hat?

Wäre nett, wenn Du mir nochmal helfen könntest.

Hartmut
Hartmut_M ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 21.11.2005, 19:36   #8
Arne Dieckmann
MS-Office-Forum Team MS-Office-Forum Team
Standard

Wenn du ausschliessen kannst, dass ein (maximales) Datum pro PNummer mehrfach vorkommt, könnte es mit einer Unterabfrage klappen:

Code:

SELECT 
  PNummer, 
  Max(Datum) AS [AktuellesDatum], 
  First((SELECT 
      TOP 1 Titel 
    FROM DeineTabelle AS I 
    WHERE I.PNummer=A.PNummer 
    ORDER BY Datum DESC;)) AS LetzterTitel  
FROM DeineTabelle AS A  
GROUP BY A.PNummer;

__________________

Gruß, Arne

Links: FAQGrundlagenRelationale DatenbankenStephen LebansDBWiki
Tools: TabToWebSQL-FormatterCode Converter
System: Win7 Pro 64bit, Office 20xx, div. MS-SQL Server 20xx, Firefox
Bitte keine Fragen per Mail/PN und als Neuling diese Anleitung (Code-Tags, Anhänge etc.) lesen.
Arne Dieckmann ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 21.11.2005, 20:09   #9
Hartmut_M
Threadstarter Threadstarter
MOF User
MOF User
Standard

Hallo Arne, vielen Dank schon einmal für Deine Mühe. Werde das morgen im Büro ausprobieren. Gebe dann anschließend feedback. Schönen Abend noch.
Gruß Hartmut
Hartmut_M ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 22.11.2005, 09:47   #10
Hartmut_M
Threadstarter Threadstarter
MOF User
MOF User
Standard

Hallo Arne, habe es heute ausprobiert. Läuft einwandfrei. Nochmals vielen Dank für Deine Hilfe.
Gruß Hartmut
Hartmut_M ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 09.11.2010, 18:09   #11
Miau Miau
Neuer Benutzer
Neuer Benutzer
Standard

Hallo!

Auch wenn dieser Thread schon einige Zeit her ist.
Aber ich habe genau das gleiche Problem bei einer Abfrage (verwende Access97)
Habe eine Personaldatenbank mit dem Ziel der Anzeige des letzten (aktuellsten) Beurteilungsdatums.

Ich habe versucht den obigen Vorschlag auf meinen Fall anzuwenden. Das sieht dann so aus:

SELECT
PIN,
Max(BeuT) AS [AktuellesDatum],
First((SELECT
TOP 1 BeuT
FROM Dat_Beurt AS I
WHERE I.PIN=A.PIN
ORDER BY BeuT DESC) AS LetzterBeuT
FROM Dat_Beurt AS A
GROUP BY A.PIN;

(PIN steht dabei für die systeminterne Personalnr und ist Primärschlüssel)

Nur leider funzt es nicht, da eine Fehlermeldung kommt: "Höchstens ein Datensatz kann von dieser Unterabfrage zurückgegeben werden."
Ich weiß aber nicht wo der Fehler liegen soll, zumal das gleiche Prinzip bei meinem Vorgänger ja anscheinend funktioniert hatte.

Hat jemand hier noch eine Lösung?
Miau Miau ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 09.11.2010, 18:12   #12
Miau Miau
Neuer Benutzer
Neuer Benutzer
Standard

Oh je! Also den Smiley in der Anzeige hat das Forum beim Speichern selbst platziert! Steht natürlich für
; ) -> ohne Leerzeichen im Echttext!
Miau Miau ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 09.11.2010, 18:18   #13
maikek
MOF Guru
MOF Guru
Standard

Moin,
Arne hat ja in seinem Lösungsvorschlag schon darauf hingewiesen:

Zitat:

Wenn du ausschliessen kannst, dass ein (maximales) Datum pro PNummer mehrfach vorkommt, ...

Eben dies ist wohl bei dir der Fall, wie die Fehlermeldung zeigt.
maike

__________________

Win7/Access 2003. PN bitte nur nach Absprache.
Bitte dein Thema auf erledigt setzen, wenn's durch ist!
MOF Access Stammtisch in Bremen
maikek ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 09.11.2010, 18:36   #14
ebs17
MOF Guru
MOF Guru
Standard

Der Smiley kommt wohl über ein überzähliges und falsches Semikolon.

Die Abfrage kann man auch etwas anders formulieren
Code:

SELECT T.*
FROM Dat_Beurt T INNER JOIN
(SELECT X.PIN, Max(X.BeuT) AS AktuellesDatum
FROM Dat_Beurt X
GROUP BY X.PIN) Q
ON T.PIN = Q.PIN AND T.BeuT = Q.AktuellesDatum

__________________

Ein freundliches Glück Auf!

Eberhard

Abfrageperformance ist kein Geheimnis
SQL ist leicht: {1}:{2}:{3}:{4}

Geändert von ebs17 (09.11.2010 um 19:47 Uhr).
ebs17 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 10.11.2010, 14:06   #15
Miau Miau
Neuer Benutzer
Neuer Benutzer
Standard

Danke für Deine Antwort, ebs!

Habe den Text bei mir mal reinkopiert. Es kommt aber leider die Fehlermeldung: "Syntaxfehler in FROM-Klausel."
Miau Miau ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:59 Uhr.


Partner und Co.
Access-Paradies -Alles rund um die Datenbank Microsoft Access -Code -Programme-Tools -Tipps   Kostenlose Tipps & Tricks, Downloads und Programme   www.kulpa-online.com - Tipps - Tricks - Tutorials - Meinungen - Downloads uvm...   vb@rchiv · Willkommen in der Welt der VB Programmierung   Access-Garhammer - Hier finden Sie jede Menge Beispiel-Datenbanken zu Access und mehr ...   mcseboard.de   Die Top Seite für Excel-VBA-Makros uvm.

Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.

Copyright ©2000-2010 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günther Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.
Beachten Sie bitte auch unsere Nutzungsbedingungen.