Optimizer - SQL - Zugriff mit Parameter auf Matrixzeilen
Frank Romeni
Seid gegrüßt!Über Parameter habe ich in SQL-Queries die Möglichkeit, auch auf Spalten in bestimmten Zeilen der Artikelmatrix in Belegen zuzugreifen, z.B.
-- Zugriff auf die Artikelnummer in der zweiten Zeile eines Belegs
--
DECLARE @code AS nvarchar(20)
SET @code = '[%G;38;1;2]'
Wie ich überprüft habe, muß die Zeile als Literal geschrieben werden und kann nicht über eine Variable angegeben werden, wie z.B hier:
-- Zugriff auf die Artikelnummer in der zweiten Zeile eines Belegs;
-- Angabe der Zeile über eine lokale Variable
--
DECLARE @code AS nvarchar(20)
DECLARE @zeile AS integer
SET @zeile = 2
SET @code = '[%G;38;1;@zeile]'
Der Zeilenzugriff macht ja eigentlich nur dann Sinn, wenn ich z.B. in einem SQL-Query bei Eintreten eines Event, das sich auf den Beleg bezieht (nicht auf eine Spalte in der aktuellen Artikelzeile) - z.B. bei Betätigung des Hinzufügen-Buttons - alle Zeilen auf bestimmte Bedingungen überprüfen will, bevor der Beleg tatsächlich gebucht wird.
Da ist im Voraus nicht weiß, wie viele Artikelzeilen vorhanden sind, bzw. diese nicht willkürlich auf eine maximale Anzahl begrenzen kann, brauche ich für ein Schleifenkonstrukt eine variable Schreibweise der jeweiligen Zeile.
Gibt es irgendeinen Weg dies doch noch zu realisieren (außer direkt CS-Programmierung zu verwenden)?
Falls nicht, so ist die Möglichkeit auf bestimmte Zeilen zuzugreifen, in dieser Form eigentlich zu nichts Sinnvollem zu gebrauchen!
Vielen Dank im Voraus für Antworten!
Gruß
Frank Romeni
Michael Egloff
Hallo Frank,Falls nicht, so ist die Möglichkeit auf bestimmte Zeilen zuzugreifen, in dieser Form eigentlich zu nichts Sinnvollem zu gebrauchen!
Stimme ich dir nicht ganz zu. Wenn du Zeilenfelder gefüllt haben willst, die abhängig sind von anderen Spalten, so macht das durchaus Sinn.
Die Möglichkeit auf alle Zeilen in einer Liste zuzugreifen, ist momentan nur in der CS-Programmierung möglich.
Frank Romeni
Danke Michael!Frank Romeni
0
Please sign in to leave a comment.
Comments
0 comments