[erledigt] Base-Formular: ListBox SelectedValue abfragen
Verfasst: 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):
Variante 2 (Auswertung des Ereignisses "Aktion ausführen"):
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.
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))
Code: Alles auswählen
MyBox = oEvent.Source.Model
objId = MyBox.ValueItemList(MyBox.SelectedItems(0))
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.