Wie Sie ja wissen, spielen MD-Tokens
in MD-Premium.NET AFW eine fundamentale Rolle bei der Zusammenstellung der SQL-Selects. Eine Besonderheit stellt dabei der
SQL-Text dar, der die Auswahlliste in Listboxen festlegt.
Bis zur Version 5.2.040.0005 war es nur möglich, Felder im Format {FELDNAME}
zu referenzieren, was die negative Auswirkung hatte,
dass dieser Platzhalter lediglich ersetzt wurde - bei Zeichenfeldern problematisch und bei Datumsfeldern ein regelrechter Stolperstein.
In der Version 5.2.040.0005 wurde dies korrigiert und eine Parameterübergabe per Value ermöglicht. Stellen Sie dazu einfach vor den Variablennamen einen
Doppelpunkt {:FELDNAME}
und der Parameter wird unabhängig vom Datentyp korrekt übergeben. Beachten Sie dabei auch, dass das Umschließen des Parameters
mit Hochkommas bei Zeichenfeldern nicht mehr erfolgen darf.
Kopieren
<FieldInfo Name="KAMAC_ID" Title="Startaktivität" ExpressionType="Int32">
<GUIControl Name="imageComboBoxEdit">
<mdc:ListItems >
<mdc:SQL>
select KAMAC_ID, BEZEICHNUNG, IMAGE_NR
from mdkamac
where Klient_ID = Md_Klient.GetNr
and Kam_ID = (select Kam_ID from mdkamd where ROWID=CHARTOROWID('{ROW_ID}'))
and KamAC_ID in
(select KAMAC_ID from mdkamac
where Klient_ID = Md_Klient.GetNr
and NVL(NO_SA,0) = 0
and Kam_ID=(select Kam_ID from mdkamd where ROWID=CHARTOROWID('{ROW_ID}')))
</mdc:SQL>
</mdc:ListItems>
</GUIControl>
</FieldInfo>
Nachher
Kopieren
<FieldInfo Name="KAMAC_ID" Title="Startaktivität" ExpressionType="Int32">
<GUIControl Name="imageComboBoxEdit">
<mdc:ListItems >
<mdc:SQL>
select KAMAC_ID, BEZEICHNUNG, IMAGE_NR
from mdkamac
where Klient_ID = Md_Klient.GetNr
and Kam_ID = (select Kam_ID from mdkamd where ROWID=CHARTOROWID({:ROW_ID}))
and KamAC_ID in
(select KAMAC_ID from mdkamac
where Klient_ID = Md_Klient.GetNr
and NVL(NO_SA,0) = 0
and Kam_ID=(select Kam_ID from mdkamd where ROWID=CHARTOROWID({:ROW_ID})))
</mdc:SQL>
</mdc:ListItems>
</GUIControl>
</FieldInfo>