ich bastle gerade wieder mal SQL und bin auf ein Problem gestoßen. Ohne WHERE Klausel mit einem Filter beim Öffnen der DB funktioniert es einwandfrei. Ohne Filter (SET FILTER TO kdnr == kundennummer) und der WHERE Klausel (WHERE id == msgId) funktioniert das nicht. Es kommt eine Fehlermeldung. Die Variable "msgId" die übergeben wird, wird als Tabellenfeld identifiziert, ist aber kein Feld. Wie kann ich der WHERE Klausel klarmachen, daß das eine Variable ist? Wenn ein kontanter Wert anstatt der "msgId" eingetragen wird, funktioniert es auch.
Code: Alles auswählen
FUNCTION SELECT_ID( msgId)
LOCAL aData := [}
use tabelle alias tab new
SET FILTER TO opmsgId == msgID
GOTOP
SELECT konto AS kto, opmsgId AS id FROM tab WHERE id == msgId GROUP BY kto DESC INTO ARRAY aData
RETURN( aData )