[erledigt] Base-Formular: ListBox SelectedValue abfragen

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: [erledigt] Base-Formular: ListBox SelectedValue abfragen

Re: Base-Formular: ListBox SelectedValue abfragen

von juetho » Do, 20.09.2012 09:21

F3K Total hat geschrieben:ich habe festgestellt, das die ValueItemList dann leer ist, wenn die Listbox nicht an ein Tabellenfeld, in das der Wert geschrieben werden soll, gebunden ist.
Also scheint der Sachverhalt, den ich in meinem ersten Nachtrag genannt habe, auch für die leere ValueItemList verantwortlich zu sein: Die Listbox ist zwar an ein Tabellenfeld gebunden; aber der Datensatz, in den der Wert geschrieben werden soll, existiert noch nicht; deshalb weiß OO nicht, wohin der Wert gehört. Das erklärt die Lage, danke dafür.

Dann muss ich den Umweg machen, den ich sowieso ausprobiert habe: Der Anzeigewert ist eindeutig; also komme ich mit einer zweiten Abfrage vom Anzeigewert (String) auch zum eigentlichen Wert (ID). Jürgen

Re: Base-Formular: ListBox SelectedValue abfragen

von F3K Total » Mi, 19.09.2012 19:28

Hi,
ich habe festgestellt, das die ValueItemList dann leer ist, wenn die Listbox nicht an ein Tabellenfeld, in das der Wert geschrieben werden soll, gebunden ist.

Gruß R

[erledigt] Base-Formular: ListBox SelectedValue abfragen

von juetho » Di, 18.09.2012 20:30

Wegen weiterer Prüfungen möchte ich bei einer Listbox nach manueller Auswahl den ausgewählten Wert wissen. Durch SelectedItem bzw. CurrentValue erhalte ich den Anzeigewert (String), aber nicht den dahinterliegenden Wert aus der Hilfstabelle. Bei der Definition des Formulars bin ich so vorgegangen: numerisches Feld ausgewählt, ersetzt durch Listenfeld, Daten mit SQL-Befehl: "select ean, id from fibu.bk_object". Die Einträge werden korrekt angezeigt; für die Abfrage habe ich verschiedene Verfahren probiert.

Variante 1 (übernommen aus ListBox2ndCol.odb):

Code: Alles auswählen

oForm = thisComponent.drawpage.forms.MainForm.frmOrder
MyBox = oForm.getByName("obj_id")
msgBox MyBox.ValueItemList(MyBox.SelectedItems(0))
Variante 2 (Auswertung des Ereignisses "Aktion ausführen"):

Code: Alles auswählen

MyBox = oEvent.Source.Model
objId = MyBox.ValueItemList(MyBox.SelectedItems(0))
Mit dem integrierten Basic-Debugger konnte ich feststellen, dass im Beispiel ListBox2ndCol.odb die ValueItemList mit den korrekten Werten gefüllt ist, bei mir ist sie leer und wird angezeigt als "String(0 to -1)". Welche Erklärung kann es für die leere Liste der Werte geben? Jürgen

PS. Im SELECT-Befehl verzichte ich wegen der Übersichtlichkeit auf unnötige Gänsefüßchen. Versuchsweise habe ich sie eingefügt, aber das hat nichts geändert.

Nachtrag 1 (20:34 Uhr): oForm.getInt(6) kann ich nicht benutzen, weil es sich um einen neuen, noch nicht gespeicherten Datensatz handelt. Fehlermeldung (SQLException): "Der Cursor zeigt vor die erste bzw. hinter die letzte Zeile."

Nachtrag 2 (19.09.2012 um 09:00 Uhr): Es ist mir klar, dass ihr mir keine direkte Hilfe geben könnt, schon weil ich zu wenig Informationen liefern kann. Aber vielleicht gibt es ein paar Tipps, in welche Richtung ich suchen kann.

Nach oben