Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Kombinierte Abfrage (Datensatz mit neuestem Datum)
Gehe zu Seite 1, 2  Weiter
zurück: Datum hilfe weiter: Datensätze automatisch durchnummerieren Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Bitte Status wählen ! Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
Gelezun
Kennt sich aus...


Verfasst am:
31. Jan 2005, 21:11
Rufname: Andi
Wohnort: Essen

Kombinierte Abfrage (Datensatz mit neuestem Datum) - Kombinierte Abfrage (Datensatz mit neuestem Datum)

Nach oben
       

Hallo zusammen !

Ich habe eine Rezepturen-DB, mit etwa folgendem Aufbau:
    rID, Rezeptname, Änderungsdatum, ganzvieleandereFelder
Die Datensätze in der DB werden über das Änderungsdatum (und wenn es das 2 mal gibt, über die rID) unterschieden.
Der Rezeptname kann in der DB nur einmal, aber auch 10 mal vorkommen.
Ich möchte nun eine Abfrage erstellen, die mir zu allen Rezeptnamen nur den jeweils aktuellsten Datensatz ausgibt.

Mit
Code:
    sqltext = "SELECT * FROM Rezepte " & _
             " WHERE Rezeptname LIKE '*' " & _
             " AND Änderungsdatum = (SELECT Max(Änderungsdatum) " & _
                                   " FROM Rezepte)"
klappts natürlich nicht, es wird hier nur der aktuellste Datensatz, den es in der DB gibt, ausgegeben. Kann mir da mal jemand helfen ?

Gruß,
Andreas
lothi
c#, .Net


Verfasst am:
01. Feb 2005, 13:20
Rufname:
Wohnort: Birgisch


AW: Kombinierte Abfrage (Datensatz mit neuestem Datum) - AW: Kombinierte Abfrage (Datensatz mit neuestem Datum)

Nach oben
       

Hallo

Eine Idee hab ich:
Code:
    sqltext = "SELECT * FROM Rezepte " & _
             " WHERE Rezeptname " & _
                   " IN (SELECT Rezeptname, Max(Änderungsdatum) " & _
                       " FROM Rezepte " & _
                       " GROUP BY Rezeptname)"

Ich muss nach dem Rezeptnamen suchen weil beim Datum auch andere Rezepte gefunden werden wenn zur gleichen Zeit eine Aenderung durchgeführt wurde.

_________________
Gruss Lothi, der Bastler
Feedback ist die beste Möglichkeit mir zu sagen ob die Antwort geholfen hat!
AC2002, WinXP, Office XP
Gelezun
Kennt sich aus...


Verfasst am:
01. Feb 2005, 18:46
Rufname: Andi
Wohnort: Essen

AW: Kombinierte Abfrage (Datensatz mit neuestem Datum) - AW: Kombinierte Abfrage (Datensatz mit neuestem Datum)

Nach oben
       

Hi Lothi,

danke erstmal für deine Antworten, auch in dem anderen Fall.

Deine Idee klappt leider nicht. Ich bekomme die Meldung: "Sie haben eine Unterabfrage erstellt, die mehr als ein Feld zurückgeben kann ohne das reservierte Wort EXISTS im FROM-Abschnitt der Hauptabfrage zu verwenden. ..."

Hast du noch was in petto ?

Gruß,
Andreas
Gelezun
Kennt sich aus...


Verfasst am:
01. Feb 2005, 21:47
Rufname: Andi
Wohnort: Essen

AW: Kombinierte Abfrage (Datensatz mit neuestem Datum) - AW: Kombinierte Abfrage (Datensatz mit neuestem Datum)

Nach oben
       

Ich habe jetzt mal eine funktionierende Abfrage erstellt, die mir alle meine Datensätze die ich habe, nach Rezeptnamen ausgibt und zwar jedes Rezept nur einmal.
Code:
SELECT Rezeptname
FROM Rezepte
GROUP BY Rezeptname
HAVING COUNT(*)>=1;

So...wie verbinde ich jetzt dieses Ergebnis mit meiner Suche ? Ich muss jetzt zu jedem dieser Datensätze denjenigen mit dem höchsten Datum heraussuchen, oder nicht ? Aber wie ?

Gruß,
Andreas
lothi
c#, .Net


Verfasst am:
02. Feb 2005, 07:55
Rufname:
Wohnort: Birgisch


AW: Kombinierte Abfrage (Datensatz mit neuestem Datum) - AW: Kombinierte Abfrage (Datensatz mit neuestem Datum)

Nach oben
       

Tschuldigung Andreas

hab ohne zu Testen den Code gepostet.
Man darf in einer Unterabfrage nur ein Feld zurückgeben sonst weiss die
Abfrage nicht was gemeint ist.

Diese hier hat bei mir funktioniert.
Code:
    sqltext = "SELECT *, Max([Änderungsdatum) AS Maxvondat " & _
             " FROM Rezepte " & _
             " GROUP BY Rezeptname " & _
             " HAVING Rezeptname " & _
                    " IN (SELECT Rezeptname " & _
                        " FROM Rezepte " & _
                        " GROUP BY Rezeptname "

_________________
Gruss Lothi, der Bastler
Feedback ist die beste Möglichkeit mir zu sagen ob die Antwort geholfen hat!
AC2002, WinXP, Office XP
Gelezun
Kennt sich aus...


Verfasst am:
02. Feb 2005, 19:28
Rufname: Andi
Wohnort: Essen

AW: Kombinierte Abfrage (Datensatz mit neuestem Datum) - AW: Kombinierte Abfrage (Datensatz mit neuestem Datum)

Nach oben
       

Das klappt bei mir überhaupt nicht. Nach dem Hinzufügen der fehlenden Klammern bekomme ich die Fehlermeldung: "Mit '*' ausgewählte Felder können nicht gruppiert werden". Wenn ich statt "*" in der Abfrage "Rezeptname" benutze, bekomme ich eine Ausgabe, die Rezeptnamen mit aktuellem Datum.

Ich habe dann mal folgendes gemacht
Code:
SELECT   Rezeptname, Max(Änderungsdatum) AS Datum
FROM     Rezepte
GROUP BY Rezeptname
HAVING   Count(*)>=1;

Damit bekomme ich dann die gleiche Ausgabe. Ich müsste jetzt aber jeden Datensatz an einen Bericht geben, der mir das Datenblatt zum aktuellen Rezept druckt. Kann man das irgendwie hinbekommen ?

Gruß,
Andreas
Nachtrag: Gelezun am 02. Feb 2005 um 21:56 hat folgendes geschrieben:
Ich habe jetzt folgendes getan:
Code:
SELECT   First(RezeptID) AS RezeptID, Rezeptname, Max(Änderungsdatum) AS Änderungsdatum
FROM     Rezepte
GROUP BY Rezeptname
HAVING   Rezeptname In (SELECT Rezeptname FROM Rezepte GROUP BY Rezeptname);

Diese Ausgabe lasse ich mir nun in einem Unterformular anzeigen. Es werden auch genau die DS angezeigt, die ich haben möchte. Nur wenn ich jetzt meinem Bericht die Datenmenge dieses Unterformulars übergebe, werden wieder ALLE DS als Bericht (ein Datenblatt) dargestellt.

Langsam gehe ich kaputt...

Gruß,
Andreas
lothi
c#, .Net


Verfasst am:
03. Feb 2005, 10:42
Rufname:
Wohnort: Birgisch

AW: Kombinierte Abfrage (Datensatz mit neuestem Datum) - AW: Kombinierte Abfrage (Datensatz mit neuestem Datum)

Nach oben
       

Hallo

Hast du hast doch wahrscheinlich eine Abfrage mit allen Datensätzen im Bericht.
Beim öffnen des Berichts mit DoCmd.OpenReportkannst du auch ein Kriterium mitgeben.
In deinem Fall kann es die Rezept_ID aus dem Unterformular sein.
Schau dir mal in der Hilfe den Befehl OpenReport an.

_________________
Gruss Lothi, der Bastler
Feedback ist die beste Möglichkeit mir zu sagen ob die Antwort geholfen hat!
AC2002, WinXP, Office XP
Gelezun
Kennt sich aus...


Verfasst am:
03. Feb 2005, 21:27
Rufname: Andi
Wohnort: Essen

AW: Kombinierte Abfrage (Datensatz mit neuestem Datum) - AW: Kombinierte Abfrage (Datensatz mit neuestem Datum)

Nach oben
       

Ja, ich benutze den Bericht vorher schon. Ich bekomme mit folgendem Code immer alle DS angezeigt, die ich habe
Code:
    DoCmd.OpenReport "Datenblatt Rezept", acPreview, [Form_AktuellUF].RecordSource

Form_AktuellUF ist das Unterformular, wo die DS angezeigt werden (also RezeptID, Rezeptname, Änderungsdatum).
Wenn ich einen Filter angebe also per
Code:
    DoCmd.OpenReport "Datenblatt Rezept", acPreview, , "[RezeptID]= " &  [Form_AktuellUF].RezeptID
so bekomme ich nur den Datensatz angezeigt, wo der Cursor gerade steht.
[Form_AktuellUF] ist ein Endlosformular. Ein ähnliches habe ich schon in der DB, da klappt das anzeigen der DS, unter Angabe von .RecordSource.

Ideen ?

Gruß,
Andreas
lothi
c#, .Net


Verfasst am:
04. Feb 2005, 09:03
Rufname:
Wohnort: Birgisch

AW: Kombinierte Abfrage (Datensatz mit neuestem Datum) - AW: Kombinierte Abfrage (Datensatz mit neuestem Datum)

Nach oben
       

Hallo

Ich hab verstanden das du das so willst. Welche Daten möchtest du denn jetzt?

_________________
Gruss Lothi, der Bastler
Feedback ist die beste Möglichkeit mir zu sagen ob die Antwort geholfen hat!
AC2002, WinXP, Office XP
Gelezun
Kennt sich aus...


Verfasst am:
04. Feb 2005, 17:38
Rufname: Andi
Wohnort: Essen

AW: Kombinierte Abfrage (Datensatz mit neuestem Datum) - AW: Kombinierte Abfrage (Datensatz mit neuestem Datum)

Nach oben
       

Ich dachte, mit
Code:
    DoCmd.OpenReport "Datenblatt Rezept", acPreview, [Form_AktuellUF].RecordSource
bekomme ich alle Datensätze, die gerade im Unterformular stehen, als Bericht angezeigt, also von jedem Rezept die neueste Version. Aber dem ist nicht so. Ich bekomme ALLE Datensätze als Bericht angezeigt. Warum ?

Gruß,
Andreas
MirkoK
-


Verfasst am:
04. Feb 2005, 19:16
Rufname:
Wohnort: Ruhrgebiet

AW: Kombinierte Abfrage (Datensatz mit neuestem Datum) - AW: Kombinierte Abfrage (Datensatz mit neuestem Datum)

Nach oben
       

hi

nein das ist falsch
Code:
    DoCmd.OpenReport "Datenblatt Rezept", acPreview, , HierDieBedingung ID=ID
Gelezun
Kennt sich aus...


Verfasst am:
04. Feb 2005, 21:01
Rufname: Andi
Wohnort: Essen

AW: Kombinierte Abfrage (Datensatz mit neuestem Datum) - AW: Kombinierte Abfrage (Datensatz mit neuestem Datum)

Nach oben
       

??? Verstehe ich nicht...ich habe ja ein paar Postings vorher das hier geschrieben:
Code:
    DoCmd.OpenReport "Datenblatt Rezept", acPreview, , "[RezeptID]= " &  [Form_AktuellUF].RezeptID

Das zeigt mir EINEN Datensatz als Bericht an, und zwar denjenigen, wo ich den Cursor draufstelle. Ich möchte aber alle Datensätze (von denen ja Teile, u.a. die ID im Unterformular angezeigt werden) des Unterformulars als Bericht anzeigen.

Gruß,
Andreas
MirkoK
-


Verfasst am:
04. Feb 2005, 23:22
Rufname:
Wohnort: Ruhrgebiet

AW: Kombinierte Abfrage (Datensatz mit neuestem Datum) - AW: Kombinierte Abfrage (Datensatz mit neuestem Datum)

Nach oben
       

hi

ID ist die aus dem Hauptformular
Gelezun
Kennt sich aus...


Verfasst am:
04. Feb 2005, 23:56
Rufname: Andi
Wohnort: Essen

AW: Kombinierte Abfrage (Datensatz mit neuestem Datum) - AW: Kombinierte Abfrage (Datensatz mit neuestem Datum)

Nach oben
       

???? Knappe Antwort Very Happy

...und ich verstehe leider nicht, was du damit sagen willst. ... Question

Gruß,
Andreas
MirkoK
-


Verfasst am:
05. Feb 2005, 12:06
Rufname:
Wohnort: Ruhrgebiet


AW: Kombinierte Abfrage (Datensatz mit neuestem Datum) - AW: Kombinierte Abfrage (Datensatz mit neuestem Datum)

Nach oben
       

hi

die DS im UFO sind doch über einen Schlüssel verknüpft mit denen des HF

Diesn Schlüssel (ID) mußt du auch für den Bericht nehmen

Bsp

Rechnung mir RechnungID
UFO zeigt alle Rechnungsposten mit RechnungID
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Gehe zu Seite 1, 2  Weiter
Diese Seite Freunden empfehlen

Seite 1 von 2
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage mit Auswahlkriterium über 2 Tabellen 1 Majo 1907 24. Feb 2004, 13:54
Willi Wipp Abfrage mit Auswahlkriterium über 2 Tabellen
Keine neuen Beiträge Access Tabellen & Abfragen: Formulargesteuerte Abfrage 2 obismarck 2699 17. Feb 2004, 17:03
obismarck Formulargesteuerte Abfrage
Keine neuen Beiträge Access Tabellen & Abfragen: Anzeige bei "ja/nein" Abfrage nicht korrekt 2 FWE 1288 12. Feb 2004, 14:10
FWE Anzeige bei "ja/nein" Abfrage nicht korrekt
Keine neuen Beiträge Access Tabellen & Abfragen: Mit SQL auf zwei verschiedene Abfrage weisen 4 Gast 1585 07. Feb 2004, 15:00
Willi Wipp Mit SQL auf zwei verschiedene Abfrage weisen
Keine neuen Beiträge Access Tabellen & Abfragen: Suche Hilfe zu SQL (DAO 351 MS) - Abfrage 3 Berny_H 1005 04. Feb 2004, 11:41
borstel Suche Hilfe zu SQL (DAO 351 MS) - Abfrage
Keine neuen Beiträge Access Tabellen & Abfragen: Access gibt bei Abfrage 0 Werte wieder obwohl Textfeld voll 5 Sir Eckbert 1482 14. Jan 2004, 17:43
CoolCasimir Access gibt bei Abfrage 0 Werte wieder obwohl Textfeld voll
Keine neuen Beiträge Access Tabellen & Abfragen: Bestimmte Abfrage erstellen ... nur wie ? 1 studi 2219 22. Dez 2003, 20:51
reke Bestimmte Abfrage erstellen ... nur wie ?
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage, ob eine Abfrage ein Ergebnis hat 3 Esdo 3934 09. Dez 2003, 15:53
Fedaykin Abfrage, ob eine Abfrage ein Ergebnis hat
Keine neuen Beiträge Access Tabellen & Abfragen: Access 97 Abfrage Duplikate 9 gast 2419 02. Dez 2003, 14:39
Kay Access 97 Abfrage Duplikate
Keine neuen Beiträge Access Tabellen & Abfragen: Parameter abfrage 3 Gast 1903 01. Dez 2003, 16:12
Caladan Parameter abfrage
Keine neuen Beiträge Access Tabellen & Abfragen: Brauche Ergebnis einer Abfrage in anderer Form 2 Sieben 911 16. Nov 2003, 20:07
gast Brauche Ergebnis einer Abfrage in anderer Form
Keine neuen Beiträge Access Tabellen & Abfragen: mit Update Abfrage zufügen und wegnehmen 1 WuF 794 11. Nov 2003, 13:24
marmic55 mit Update Abfrage zufügen und wegnehmen
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Microsoft Word Serienbriefe