Hallo,
der Versuch einer Hilfestellung:
Was genau steht in AsTyp? Eine Zeichenfolge, dann muss der Parameter in Hochkommata stehe, da ansonsten das
SQL mit dem = endet und daher ungültig wird.
Wenn Du also einen Leerstring übergeben musst, so müsstest Du das = durch IS Null ersetzen oder eventuell wenn AsTye leer ist, diesem ein Blank zuweisen oder eine Zeichenfolge, die in den Daten garantiert nicht enthalten ist.
Besser wäre jedoch, abhängig davon, ob AsTyp leer ist oder nicht, unterschiedliche
SQL-Statements zu verwenden, das vorhanden, wenn AsTyp nicht leer ist, ansonsten
SELECT ID FROM Typ WHERE Typ is null
Eventuell reicht aber auch ein
LRSSelectTyp.Parameters.ParamByName('prmTyp').Value := QuotedStr(AsTyp);