Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

AC00 SQL als Rowsource, umbrechen mißlingt

Begonnen von bejay, August 06, 2012, 15:14:37

⏪ vorheriges - nächstes ⏩

bejay

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

bahasu

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
Servus

DF6GL

#2
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


bejay

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