Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Kombination aus zwei Abfragen

Begonnen von Beate1953, November 30, 2013, 20:47:09

⏪ vorheriges - nächstes ⏩

Beate1953

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

ebs17

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"
Mit freundlichem Glück Auf!

Eberhard

Beate1953

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

Beate1953

Hallo,

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

Viele Grüße
Beate1953