Nee, blond ist das nicht und der Lösungsansatz mit einer SELECT Subquery ist auch ok, nur hast Du Dich in der Wahl der Anführungszeichen und den schließenden Klammern verheddert.
Die Artikelnummer in der SQL Query muß in einfachen Anführungszeichen stehen und da Du der
JTL_DirectQuery() ja einen String übergibst, muß der in doppelten Anführungszeichen stehen. Das sieht dann, weil die nebeneinander stehen, komisch aus und man macht leicht Fehler. Einfach durchzählen, gleiches gilt auch für die Klammerebenen.
Code:
JTL_DirectQuery("SELECT cName from tWarengruppe WHERE kwarengruppe = (SELECT kwarengruppe from tArtikel WHERE cArtNr = '"+Preislistenartikel.Artikel.Artikelnummer+"')")
Bei komplexeren Queries wird man da blond (sic!) und deshalb benutze ich für alles, was über ein paar Zeilen hinausgeht entweder ein SQL Tool (z.B. HeidiSQL Portable) oder einen Editor, der SQL Syntax Highlighting kann und zur Klammer unter dem Cursor die zugehörige öffnende oder schließende Klammer anzeigt (z.B. Notepad++, Menü "Sprache" > "S" > "SQL").
Das hilft nicht mit allen Problemen, weil weder das SQL Tool noch Notepad++ mit dem
JTL_DirectQuery("") um das SQL Statement herum etwas anfangen können und damit Dein Klammerproblem nicht sichtbar wäre und auch, weil das SQL Tool natürlich keine Variable
Preislistenartikel.Artikel.Artikelnummer kennt. Aber gegen verheddern hilft beides und wenn Du im SQL Tool statt der Variable mal eine reale Artikelnummer einsetzt und die Query ausführst, siehst Du sofort, ob sie den erwarteteten Wert zurückliefert.
P.S. Das ist zwar alles nur
DB lesend, aber der Teufel ist ein Eichhörnchen... -> Backup!