Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: Lenee am Juli 03, 2013, 10:37:56

Titel: abfrage mit zwei kriterien
Beitrag von: Lenee am Juli 03, 2013, 10:37:56
Hallo,

nun ereilt mich ein weiteres Problem,

ich habe eine Tabelle Bestellung, in der befindet sich Artikelname,Menge, Bestelldatum, Lieferdatum, Abruf und Bestellschein nummer.

wobei die Bestellscheinnummer eigentlich nur ein zahl ist 0-5 höchstens

nach bestelldatum habe ich schon sortiert bekommen, sodas er mir immer nur Artikel mit dem heutigen Bestelldatumanzeigt( mit Datum() im Kreterium) und daraus soll dann nur noch der höchste wert von der Bestellscheinnummer gefiltert werden das Letztenendes alle artikel mit dem heutigen datum und z.b. mit der Bestellscheinnummer 4 angezeigt werden

anbei der Code von meiner abfrage,

SELECT tblArtikel.Artikelname, tblBestellung.Menge, tblBestellung.Bestelldatum, tblBestellung.Lieferdatum, tblBestellung.Abruf, Max(tblBestellung.Bestellscheinnummer) AS MaxvonBestellscheinnummer, tblHersteller.Hersteller, tblFarbe.Farbe, tblGröße.Größe, tblArtikel.Artikelnummer
FROM tblHersteller INNER JOIN (tblGröße INNER JOIN (tblFarbe INNER JOIN (tblArtikel INNER JOIN tblBestellung ON tblArtikel.ArtikelID = tblBestellung.Artikelname) ON tblFarbe.FarbID = tblArtikel.aFarbe) ON tblGröße.GrößeID = tblArtikel.aGröße) ON tblHersteller.HerstellerID = tblArtikel.aHersteller
WHERE (((tblBestellung.Bestelldatum)=Date()))
GROUP BY tblArtikel.Artikelname, tblBestellung.Menge, tblBestellung.Bestelldatum, tblBestellung.Lieferdatum, tblBestellung.Abruf, tblHersteller.Hersteller, tblFarbe.Farbe, tblGröße.Größe, tblArtikel.Artikelnummer
ORDER BY Max(tblBestellung.Bestellscheinnummer) DESC;
Titel: Re: abfrage mit zwei kriterien
Beitrag von: database am Juli 03, 2013, 12:18:34
Hallo,

Zitat...mit dem heutigen datum und z.b. mit der Bestellscheinnummer 4 angezeigt werden
versuch mal:

SELECT tblArtikel.Artikelname, tblBestellung.Menge, tblBestellung.Bestelldatum, tblBestellung.Lieferdatum, tblBestellung.Abruf,
tblBestellung.Bestellscheinnummer, tblHersteller.Hersteller, tblFarbe.Farbe, tblGröße.Größe, tblArtikel.Artikelnummer
FROM tblHersteller INNER JOIN (tblGröße INNER JOIN (tblFarbe INNER JOIN (tblArtikel INNER JOIN tblBestellung ON tblArtikel.ArtikelID = tblBestellung.Artikelname)
ON tblFarbe.FarbID = tblArtikel.aFarbe) ON tblGröße.GrößeID = tblArtikel.aGröße) ON tblHersteller.HerstellerID = tblArtikel.aHersteller
WHERE tblBestellung.Bestelldatum=Date() AND tblBestellung.Bestellscheinnummer = 4
Titel: Re: abfrage mit zwei kriterien
Beitrag von: Lenee am Juli 03, 2013, 17:44:12
hi,

danke für die schnelle antwort,

es funktioniert soweit, nur soll er mir nicht die "4" filtern sonder den max wert.
ich habe es schon mit gruppierungen versucht bzw. mit einer zwischenabfrage, aber ich stelle mich zu doof an
Titel: Re: abfrage mit zwei kriterien
Beitrag von: database am Juli 04, 2013, 08:05:06
Hallo,

dann versuche mal so:


SELECT TOP 1 tblArtikel.Artikelname, tblBestellung.Menge, tblBestellung.Bestelldatum, tblBestellung.Lieferdatum, tblBestellung.Abruf,
tblBestellung.Bestellscheinnummer, tblHersteller.Hersteller, tblFarbe.Farbe, tblGröße.Größe, tblArtikel.Artikelnummer
FROM tblHersteller INNER JOIN (tblGröße INNER JOIN (tblFarbe INNER JOIN (tblArtikel INNER JOIN tblBestellung ON tblArtikel.ArtikelID = tblBestellung.Artikelname)
ON tblFarbe.FarbID = tblArtikel.aFarbe) ON tblGröße.GrößeID = tblArtikel.aGröße) ON tblHersteller.HerstellerID = tblArtikel.aHersteller
WHERE tblBestellung.Bestelldatum=Date()
ORDER BY tblBestellung.Bestellscheinnummer DESC
Titel: Re: abfrage mit zwei kriterien
Beitrag von: Lenee am Juli 04, 2013, 13:05:06
Hallo,

danke, es funktioniert :D

aber kannst du mir die funktion kurz erklären?

WHERE (((tblBestellung.Bestelldatum)=Date()))

der code is klar, damit filter ich mir das heute datum raus

aber was ist mit

ORDER BY tblBestellung.Bestellscheinnummer DESC; ?

das  DESC verstehe ich nicht was macht das?
Titel: Re: abfrage mit zwei kriterien
Beitrag von: MzKlMu am Juli 04, 2013, 13:15:48
Hallo,
DESC sortiert absteigend.
ASC sortiert aufsteigend, das ist aber Standard kann bei gewollter aufsteigender Sortierung entfallen.


PS:
Warum fragst Du nicht die Access Hilfe zu DESC ?
Da wird das ausführlich mit Beispielen erklärt.
Wer die Access Hilfe ignoriert verschenkt viele gute und ausführliche Hinweise. Meist auch mit guten Beispielen.
Die Access Hilfe sollte man nicht unterschätzen.
Titel: Re: abfrage mit zwei kriterien
Beitrag von: Lenee am Juli 04, 2013, 15:18:05
danke für die erklärung

naja manchmal ist es schneller hier zu frage  :D ::)

das mit der hilfe sollte ich mir echt mal angewöhnen  ;D

wenn ich sonst immer reingeschaut hab hab ich das nicht so verstanden.....

Titel: Re: abfrage mit zwei kriterien
Beitrag von: database am Juli 04, 2013, 15:36:48
Hallo,

zu SQL ... siehe mal da:

http://www.w3schools.com/sql/default.asp (http://www.w3schools.com/sql/default.asp)

Aber noch als Nachtrag:

ORDER BY tblBestellung.Bestellscheinnummer DESC;

in Verbindung mit SELECT TOP 1  zeigt wie in deinem Fall den ersten Datensatz der Ergebnismenge an,
der durch die Sortierung mit DESC (Absteigende Sortierung) den gewünschten höchsten Wert des Sortierfeldes wiederbringt