Libreoffice Base: Combobox ersetzt den Wert immer wieder durch 0

Libreoffice Base: Combobox ersetzt den Wert immer wieder durch 0

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

Was zum Teufel mache ich falsch?

Antwort1

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

Bildbeschreibung hier eingeben

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

Bildbeschreibung hier eingeben

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

Bildbeschreibung hier eingeben

Wählen Sie abschließend das Feld aus, in dem Sie den Wert speichern möchten (Liste links) und das Feld, aus dem Sie den Wert abrufen möchten (Liste rechts).HINWEIS: In diesem Beispiel verwende ich nur eine Tabelle. Daher habe ich in der linken und rechten Liste dieselben Optionen. Normalerweise würden Sie diese Daten aus einer anderen Tabelle abrufen, um sie in der aktuellen anzuzeigen und zu speichern – normalerweise als eine Art Fremdschlüsselbeziehung.

Bildbeschreibung hier eingeben

Dann müssen wir dafür sorgen, dass sich die ListBox wie eine ComboBox verhält, d. h., die ListBox muss ein Dropdown-Menü haben. Klicken Sie mit der rechten Maustaste auf die ListBox und gehen Sie zu Control. Setzen Sie die DropDownEigenschaft auf Yes. Setzen Sie die LineCountauf die Anzahl der Elemente, die angezeigt werden sollen, ohne dass gescrollt werden muss (mir persönlich gefallen 5). Setzen Sie zuletzt die Heightauf etwas, das eher einem Textfeld ähnelt.

Bildbeschreibung hier eingeben Bildbeschreibung hier eingeben

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

verwandte Informationen