Hi Robert, > Ich will ein Auswahlfeld neu bestücken. Dazu habe ich gerade noch einmal das > Model probiert. Dort steht mir nur SelectedItems, StringItemList und > ValueItemList zur Verfügung. Das Object wird bei dbg_properties als "unknown" > bezeichnet. > Ich benötige aber eben auch die Möglichkeit, alte Items zu entfernen und neue > in das Auswahlfeld zu schreiben.
Dazu müßtet Du StringItemList manipulieren, das ist die Liste der Einträge. Der Nachteil gegenüber der API am Control ist, dass man hier halt nur alle Einträge als eine große Liste bekommen, und Dinge wie "lösche den dritten Eintrag" manuell machen muß, während es das am Control direkt gibt. Wenn Du allerdings das Control manipulierst, und nicht das Model, dann wirst Du spätestens beim Schreiben der Daten Probleme bekommen. Wenn Du zum Beispiel im Control den dritten Eintrag löschst, dann weiß das Control nichts davon. Wenn jetzt der Benutzer des Formulars den (neuen) dritten (und ehemals vierten) Eintrag selektiert, und das in die Datenbank geschrieben werden soll, dann passiert das am *Model*. Und da das nicht weiß, dass der dritte Eintrag gelöscht wurde, wird es Dir etwas Falsches schreiben. Deswegen: Sobald Daten-Anbindung bei Formular-Kontrollfeldern ins Spiel kommt, immer mit dem Model arbeiten, nie mit dem Control. Alles, was Du am Control erledigen kannst, geht prinzipiell auch am Model - nur manchmal leider etwas anders oder komplizierter. So, nach diesere Vorrede die schlechte Nachricht: Wie oben erklärt ist es eine schlechte Idee, die Listen-Einträge direkt am Control zu manipulieren. Leider ist es *auch* eine schlechte Idee, dass am Model zu tun :-\ Das Problem ist, das für ein Listenfeld zwei Listen existieren, die von Dir schon erwähnten StringItemList und ValueItemList. Erstere enthält die anzuzeigenden Texte, letztere die korrespondierenden Werte, die bei Auswahl eines Listen-Eintrages in die DB geschrieben werden. Du müßtest also beide immer konsistent halten - was nicht funktioniert, weil die ValueItemList nur zum Lesen, aber nicht zum Schreiben gedacht ist, da der Inhalt implizit aus der DB gefüllt wird. Wenn Du also den Listen-Inhalt einschränken willst (was ich einer Deiner vorigen Mails entnehme), dann solltest Du vielleicht einfach mit einem Filter auf dem SQL-Statement für die ListBox arbeiten - das ginge völig ohne Makros. Ciao Frank -- - Frank Schönheit, Software Engineer frank.schoenh...@sun.com - - Sun Microsystems http://www.sun.com/staroffice - - OpenOffice.org Base http://dba.openoffice.org - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org For additional commands, e-mail: users-h...@de.openoffice.org