Der Befehl OBJECT SET DATA SOURCE ändert die Datenquelle des bzw. der Objekte, definiert über die Parameter Objekt und *.
Mit dem optionalen Parameter * geben Sie an, dass der Parameter Objekt ein Objektname (String) ist. Ohne diesen Parameter ist Objekt ein Feld oder eine Variable. In diesem Fall übergeben Sie eine Feld- oder Variablenreferenz anstelle eines String (nur Feld oder Variablenobjekt).
Die Datenquelle ist ein Feld oder eine Variable, deren Wert beim Ausführen des Formulars vom Objekt dargestellt wird.
Im Designmodus wird die Datenquelle in der Eigenschaftenliste über die Einträge Quelle und Quellfeld oder Variablenname definiert:
Dieser Befehl kann alle Datenquellen des Formulars verändern, mit Ausnahme von Listboxen (siehe unten). Der Entwickler muss bei Änderungen selbst für die Wahrung der Konsistenz sorgen.
Bei Listboxen ist folgendes zu beachten:
- Das Ändern der Datenquelle ist abhängig vom Typ der Listbox: Zum Beispiel lässt sich ein Feld nicht als Datenquelle für eine Spalte in einer Listbox vom Typ Array verwenden
- Bei Listboxen vom Typ Auswahl lässt sich die Datenquelle der Listbox selbst weder ändern noch lesen, denn dies ist eine interne Referenz und keine Datenquelle
- Dieser Befehl wird hauptsächlich für Listboxen vom Typ Array verwendet. Für Listboxen vom Typ Auswahl können Sie stattdessen LISTBOX SET COLUMN FORMULA verwenden.
Wird dieser Befehl auf eine Datenquelle angewandt, die nicht änderbar ist, führt er nichts aus.
Die Datenquelle für einen Eingabebereich ändern:
C_POINTER($ptrField)
$ptrField:=Field(3;2)
OBJECT SET DATA SOURCE(*;"Input";$ptrField)