Hallo,
ich benutze folgendes SQL als Rowsource für ein Listenfeld.
SELECT Warenbezeichnung.Warenbezeichnung, Design.Design, Dimension.Size, Bestand.Menge
FROM Dimension INNER JOIN (Design INNER JOIN (Warenbezeichnung INNER JOIN Bestand ON Warenbezeichnung.ArtID = Bestand.ArtID) ON (Design.ArtID = Warenbezeichnung.ArtID) AND (Design.DID = Bestand.DID)) ON Dimension.SizeKey = Bestand.SizeKey
WHERE (((Dimension.SizeKey)=[Forms]![Bestand1]![cmbSize]) AND ((Warenbezeichnung.ArtID)=[Forms]![Bestand1]![cmbBez]) AND ((Design.DID)=[Forms]![Bestand1]![cmbDesign]));
das funktioniert auch soloange ich den Code in eine Zeile schreibe.
Das funktioniert nicht:
strSQL = "SELECT Warenbezeichnung.Warenbezeichnung, Design.Design, Dimension.Size, Bestand.Menge"
strSQL = strSQL + "FROM Dimension INNER JOIN (Design INNER JOIN (Warenbezeichnung INNER JOIN Bestand ON"
strSQL = strSQL + "Warenbezeichnung.ArtID = Bestand.ArtID) ON (Design.ArtID = Warenbezeichnung.ArtID) AND (Design.DID = "
strSQL = strSQL + "Bestand.DID)) ON Dimension.SizeKey = Bestand.SizeKey"
strSQL = strSQL + "WHERE (((Dimension.SizeKey)=[Forms]![Bestand1]![cmbSize]) AND ((Warenbezeichnung.ArtID)="
strSQL = strSQL + "[Forms]!Bestand1]!cmbBez]) "
strSQL = strSQL + "AND ((Design.DID)=[Forms]![Bestand1]![cmbDesign]));"
Me!lstBestand.RowSource = strSQL
Das geht auch nicht:
strSQL = "SELECT Warenbezeichnung.Warenbezeichnung, Design.Design, Dimension.Size, Bestand.Menge" & _
"FROM Dimension INNER JOIN (Design INNER JOIN (Warenbezeichnung INNER JOIN Bestand ON Warenbezeichnung.ArtID = " & _
"Bestand.ArtID) ON (Design.ArtID = Warenbezeichnung.ArtID) AND (Design.DID = Bestand.DID)) ON Dimension.SizeKey = " & _
"Bestand.SizeKey" & _
"WHERE (((Dimension.SizeKey)=[Forms]![Bestand1]![cmbSize]) AND ((Warenbezeichnung.ArtID)=[Forms]![Bestand1]![cmbBez]) AND" & _
"((Design.DID)=[Forms]![Bestand1]![cmbDesign]));"
Me!lstBestand.RowSource = strSQL
Gibt es da Konventionen die zu beachten sind ?
Gruss
bejay
Hi,
spendiere ein paar Leerzeichen an der Stelle vom roten Unterstrich:
z.B. und auch bei den weiteren Zeilen
strSQL = strSQL + "_Warenbezeichnung.ArtID = Bestand.ArtID) ON (Design.ArtID = Warenbezeichnung.ArtID) AND (Design
Harald
Hallo,
hier fehlen Blanks als Trennzeichen zwischen einzelnen Wörtern, sodann sollte der Zeichenverkettungs-Operator anstelle des mathematischen Addition-Operators benutzt werden
strSQL = "SELECT Warenbezeichnung.Warenbezeichnung, Design.Design, Dimension.Size, Bestand.Menge"
strSQL = strSQL & " FROM Dimension INNER JOIN (Design INNER JOIN (Warenbezeichnung INNER JOIN Bestand ON"
strSQL = strSQL & " Warenbezeichnung.ArtID = Bestand.ArtID) ON (Design.ArtID = Warenbezeichnung.ArtID) AND (Design.DID = "
strSQL = strSQL & " Bestand.DID)) ON Dimension.SizeKey = Bestand.SizeKey"
strSQL = strSQL & " WHERE (((Dimension.SizeKey)=[Forms]![Bestand1]![cmbSize]) AND ((Warenbezeichnung.ArtID)="
strSQL = strSQL & " [Forms]!Bestand1]!cmbBez]) "
strSQL = strSQL & " AND ((Design.DID)=[Forms]![Bestand1]![cmbDesign]));"
Me!lstBestand.RowSource = strSQL
Dasselbe in Grün:
strSQL = "SELECT Warenbezeichnung.Warenbezeichnung, Design.Design, Dimension.Size, Bestand.Menge" & _
" FROM Dimension INNER JOIN (Design INNER JOIN (Warenbezeichnung INNER JOIN Bestand ON Warenbezeichnung.ArtID = " & _
"Bestand.ArtID) ON (Design.ArtID = Warenbezeichnung.ArtID) AND (Design.DID = Bestand.DID)) ON Dimension.SizeKey = " & _
"Bestand.SizeKey" & _
" WHERE (((Dimension.SizeKey)=[Forms]![Bestand1]![cmbSize]) AND ((Warenbezeichnung.ArtID)=[Forms]![Bestand1]![cmbBez]) AND" & _
" ((Design.DID)=[Forms]![Bestand1]![cmbDesign]));"
Me!lstBestand.RowSource = strSQL
Wahnsinn, tatsächlich nur das Leerzeichen, im nachhinein wird mir das klar, weil es ja sonst zusammgeschrieben ist. Den Wald vor lauter Bäume nicht gesehen.
Gruss
bejay