Benutzer mit den meisten Antworten
2 Access Abfragen zu einem SQL String Umbauen

Frage
-
Hallo ich habe 2 Abfragen in Access die aufeinander aufbauen. Diese würde ich gerne zu einem SQL String zusammenbauen.
Die flgende Abfrage stellt das Ergebniss da und baut auf der Abfrage16 auf.
SELECT tblArtikel.Zeile1, Abfrage16.*
FROM tblArtikel LEFT JOIN Abfrage16 ON tblArtikel.ArtikelNummer = Abfrage16.ArtikelNummer;ABFRAGE16:
SELECT tblArtikelKunden.*
FROM tblArtikelKunden
WHERE (((tblArtikelKunden.Adresse)=699));2te Frage wäre kann ich in der ersten Abfrage einen Standartwert für das Feld tblArtikelKunden.Adresse setzen?
Ziel ist es eine Artikelliste anzuzeigen (als Datenblatt) in der Kundenbezogene Preise und Artikelnummern... dargestellt werden. In der ergebnissabfrage werden auch die Artikel angezeigt die keinen Eintrag in der Tabelle tblArtikelKunden haben um eben in der Datenblattansicht die Möglichkeit zu geben einträge zu machen.
Antworten
-
Hallo!
Am 03.02.2013 10:31, schrieb MCDPone:
Hallo ich habe 2 Abfragen in Access die aufeinander aufbauen. Diese würde ich gerne zu einem SQL String zusammenbauen.
Die flgende Abfrage stellt das Ergebniss da und baut auf der Abfrage16 auf.
SELECT tblArtikel.Zeile1, Abfrage16.*
FROM tblArtikel LEFT JOIN Abfrage16 ON tblArtikel.ArtikelNummer = Abfrage16.ArtikelNummer;
ABFRAGE16:
SELECT tblArtikelKunden.*
FROM tblArtikelKunden
WHERE (((tblArtikelKunden.Adresse)=699));
das könnte so aussehen:
SELECT tblArtikel.Zeile1, Abfrage16.* FROM tblArtikel LEFT JOIN ( SELECT * FROM tblArtikelKunden WHERE Adresse=699 ) AS Abfrage16 ON tblArtikel.ArtikelNummer = Abfrage16.ArtikelNummer;
Ich hoffe, die Darstellung hilft Dir zu verstehen, was ich gemacht habe.
HTH
Thomas
Homepage: www.Team-Moeller.de
- Bearbeitet Thomas Möller MVP Sonntag, 3. Februar 2013 16:35
- Als Antwort markiert MCDPone Sonntag, 3. Februar 2013 17:05
Alle Antworten
-
Das ist relative einfach. Ungefähr so:
SELECT A.Zeile1, AK.*, IIF(AK.Adresse IS NULL, 123, AK.Adresse) AS AdresseMitStandardwert FROM tblArtikel A LEFT JOIN tblArtikelKunden AK ON A.ArtikelNummer = AK.ArtikelNummer AND AK.Adresse = 699;
Ob die Eingabe dann aber möglich ist, musst du testen. Dann dass funktioniert nur mit änderbaren Abfragen (updatable queries).
-
Hallo Stefan,
danke erst mal - was ich aber wollte war mich nicht auf eine abfrage beziehen(Abfrage16) sondern diese abfrage komplett als 1ne abfrage in einem SQL string haben.
ÄHNLICH
SELECT tblArtikel.Zeile1, (SELECT tblArtikelKunden.*
FROM tblArtikelKunden
WHERE tblArtikelKunden.Adresse=699) AS UAFEins
FROM tblArtikel;nur bekomme ich dann die Verknüpfung nicht hin zwischen der Tabelle und der unterabfrage
tblArtikel LEFT JOIN Abfrage16 ON tblArtikel.ArtikelNummer = Abfrage16.ArtikelNummer
-
Hallo!
Am 03.02.2013 10:31, schrieb MCDPone:
Hallo ich habe 2 Abfragen in Access die aufeinander aufbauen. Diese würde ich gerne zu einem SQL String zusammenbauen.
Die flgende Abfrage stellt das Ergebniss da und baut auf der Abfrage16 auf.
SELECT tblArtikel.Zeile1, Abfrage16.*
FROM tblArtikel LEFT JOIN Abfrage16 ON tblArtikel.ArtikelNummer = Abfrage16.ArtikelNummer;
ABFRAGE16:
SELECT tblArtikelKunden.*
FROM tblArtikelKunden
WHERE (((tblArtikelKunden.Adresse)=699));
das könnte so aussehen:
SELECT tblArtikel.Zeile1, Abfrage16.* FROM tblArtikel LEFT JOIN ( SELECT * FROM tblArtikelKunden WHERE Adresse=699 ) AS Abfrage16 ON tblArtikel.ArtikelNummer = Abfrage16.ArtikelNummer;
Ich hoffe, die Darstellung hilft Dir zu verstehen, was ich gemacht habe.
HTH
Thomas
Homepage: www.Team-Moeller.de
- Bearbeitet Thomas Möller MVP Sonntag, 3. Februar 2013 16:35
- Als Antwort markiert MCDPone Sonntag, 3. Februar 2013 17:05
-
SELECT tblArtikel.*, UAFEins.*
FROM tblArtikel LEFT JOIN [SELECT *,IIF(tblArtikelKunden.Adresse IS NULL, 123, tblArtikelKunden.Adresse) AS AdresseMitStandardwert FROM tblArtikelKunden WHERE Adresse=699]. AS UAFEins ON tblArtikel.ArtikelNummer = UAFEins.ArtikelNummer;Funktioniert aber setzt den wert des feldes Adresse nicht auf "123" sondern ich bekomme ein extra Feld AdresseMitStandardwert (was ja auch logisch ist) welches ich dann als standard im Formular für Adresse übernehmen könnte.
wenn ich alles in dem SQL string machen möchte würde mir der schritt fehlen in dem SQL string dem Feld Adresse den Standardwert AdresseMitStandardwert zuzuweisen.
nur wie weiss ich hier noch weniger
aber wie gesagt so ist das Problem für mich gelöst weil ich den wert im Formular dann zuweise
es sei denn du hast eine zusätzliche lösung für mich