Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: Beate1953 am November 30, 2013, 20:47:09

Titel: Kombination aus zwei Abfragen
Beitrag von: Beate1953 am November 30, 2013, 20:47:09
Hallo,

ich habe einen SQL-String der mir alle Geräte aus der Tabelle Posten anzeigt, die im angegebenen Zeitraum keinen Datensatz in der Tabelle E-Check haben. Der Code lautet:

SQLstr = "SELECT DISTINCT Posten.Barcode, Posten.[Bezeichnung (Typ, genaue Bezeichnung)] "
SQLstr = SQLstr & "FROM Posten LEFT JOIN [E-Check] ON Posten.Barcode = [E-Check].Barcode "
SQLstr = SQLstr & "WHERE (((Posten.Barcode) Not In (SELECT Posten.Barcode FROM QRYGesamtbericht WHERE [E-Check].Datum "
SQLstr = SQLstr & "Between " & Format(Anfdat, "\#yyyy-mm-dd\#") & " AND " & Format(Enddat, "\#yyyy-mm-dd\#")
SQLstr = SQLstr & "))) ORDER BY Posten.Barcode"


Des Weiteren habe ich einen SQL-String, der mir den jeweils letzten (aktuellsten) Standort aller Geräte anzeigt. Der Code lautet:

SELECT Posten.Barcode, Posten.[Bezeichnung (Typ, genaue Bezeichnung)],  [E-Check].Datum, [E-Check].Ort
FROM Posten INNER JOIN [E-Check] ON Posten.Barcode = [E-Check].Barcode
WHERE ((([E-Check].ID)=(SELECT top 1 ID FROM [E-Check] WHERE Posten.Barcode=[E-Check].Barcode ORDER BY [E-Check].Datum Desc)))
ORDER BY Posten.Barcode;


Was ich nun brauche ist eine Kombination aus beiden Strings. Ich brauche alle Geräte, die im angegebenen Zeitraum keinen DS in E-Check hatten und dazu den jeweils letzten Standort dieser Geräte.

Vielen Dank im Voraus für Eure Hilfe
Beate1953
Titel: Re: Kombination aus zwei Abfragen
Beitrag von: ebs17 am Dezember 02, 2013, 17:31:53
Als formaler Versuch (Zusammenkopieren):
SQLstr = "SELECT DISTINCT Posten.Barcode, Posten.[Bezeichnung (Typ, genaue Bezeichnung)] "
SQLstr = SQLstr & "FROM Posten LEFT JOIN [E-Check] ON Posten.Barcode = [E-Check].Barcode "
SQLstr = SQLstr & "WHERE Posten.Barcode Not In (SELECT Posten.Barcode FROM QRYGesamtbericht WHERE [E-Check].Datum "
SQLstr = SQLstr & "Between " & Format(Anfdat, "\#yyyy-mm-dd\#") & " AND " & Format(Enddat, "\#yyyy-mm-dd\#")
SQLstr = SQLstr & " AND "
SQLstr = SQLstr & "(Posten.Barcode = [E-Check].Barcode AND E-Check].ID = "
SQLstr = SQLstr & "(SELECT top 1 ID FROM [E-Check] AS E WHERE Posten.Barcode = E.Barcode ORDER BY E.Datum Desc)) "
SQLstr = SQLstr & "ORDER BY Posten.Barcode"
Titel: Re: Kombination aus zwei Abfragen
Beitrag von: Beate1953 am Dezember 03, 2013, 18:34:13
Hallo,

ich habe Deinen SQLstr ausprobiert und bekomme immer die Fehlermeldung: "Fehlendes Element ) oder ] in Abfrageausdruck....".

Ich habe in der 6. Zeile Deines Strings vor E-Check] die eckige Klammer noch geöffnet. Ich hoffe, das war O.K.

Viele Grüße
Beate1953
Titel: Re: Kombination aus zwei Abfragen
Beitrag von: Beate1953 am Dezember 03, 2013, 19:31:13
Hallo,

Jetzt habe ich die fehlende Klammer gefunden und alles klappt hervorragend!! Vielen herzlichen Dank!!!

Viele Grüße
Beate1953