Libreoffice Base: Die Combobox setzt den Wert immer auf 0

2971
Gabriel A. Zorrilla

Ich habe eine ComboBox, die eine Länderliste lädt. Jedes Mal, wenn ich ein Element auswähle und mich dann auf ein anderes Objekt des Formulars fokussiere, wird es auf 0 zurückgesetzt. Diese ComboBox ist mit einem Integer-Wert in der Haupttabelle verknüpft (es speichert den Index, nicht den Zeichenfolge des Landes).

Was zum Teufel mache ich falsch?

0

1 Antwort auf die Frage

2
CatShoes

Wenn ich Sie richtig verstanden habe, möchten Sie eine ComboBox, die eine Liste der Ländernamen anzeigt und eine Art Ländercode speichert. Sie können eine ComboBox verwenden, um ein Feld anzuzeigen und zu speichern, jedoch nicht, um ein Feld anzuzeigen und ein anderes zu speichern. Im Gegensatz zum ListBox-Steuerelement verfügt die ComboBox über keine Bound FieldEigenschaft, die zur Verwendung von zwei Feldern erforderlich ist. Die Bound FieldEigenschaft bestimmt, welches Feld in Ihrer Zieltabelle gespeichert ist.

Sie müssen ein ListBox-Steuerelement verwenden, um diese Funktionalität zu erhalten. Das ListBox-Steuerelement sollte einen Assistenten enthalten. Wählen Sie zuerst die Tabelle aus, aus der Sie Daten anzeigen möchten.

Wählen Sie dann das Feld aus, das Sie anzeigen möchten.

Wählen Sie schließlich das Feld aus, in dem Sie den Wert speichern möchten (Liste auf der linken Seite) und das Feld, aus dem Sie den Wert abrufen möchten (Liste auf der rechten Seite). HINWEIS: In diesem Beispiel verwende ich nur eine Tabelle. Ich habe also die gleichen Optionen sowohl in der linken als auch in der rechten Liste. Normalerweise würden Sie diese Daten aus einer anderen Tabelle ziehen, um sie in der aktuellen Tabelle anzuzeigen und zu speichern - normalerweise als eine Art Fremdschlüsselbeziehung.

Dann müssen wir die ListBox wie eine ComboBox wirken lassen, dh die ListBox muss ein Dropdown-Menü haben. Klicken Sie mit der rechten Maustaste auf die ListBox und gehen Sie zu Control. Legen Sie die DropDownEigenschaft auf fest Yes. Legen LineCountSie die Anzahl der Elemente fest, die angezeigt werden sollen, ohne dass ein Bildlauf erforderlich ist (Ich mag 5, persönlich). Zum Schluss setzen Sie den HeightWert auf etwas, das einem Textfeld entspricht.

Referenz: http://user.services.openoffice.org/de/forum/viewtopic.php?p=164740#p164740