BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das LibreOffice Forum zu erhalten!

❤️ DANKE >><< DANKE ❤️

> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

[gelöst] Filter aus Kombinationsfeld

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
Antworten
deife
Beiträge: 22
Registriert: Di 5. Jan 2021, 16:48

[gelöst] Filter aus Kombinationsfeld

Beitrag von deife » Sa 23. Jan 2021, 17:57

Hallo Leute,

ich habe alle meine Kontoauszüge in eine Tabelle importiert und jede Buchung einer Kategorie zugeordnet.

Auf dem Formular ist auch noch ein Kombinationsfeld, über das ich die einzelnen Kategorien auswählen kann.

Über die Eigenschaft "Text" komme ich an den Namen der Bezeichnung ran, nur dann steht im Filter der MainForm der Name der Kategorie und nicht deren ID.

Jetzt ist die Frage: wie komme ich an die ID, die im Kombinationsfeld angewählt ist?

Mein Versuch alle Eigenschaften des Kombinationsfeldes auszulesen hat zwar geklappt, aber mit der Liste komme ich auch nicht weiter. Alternativ habe ich es mit eine Listenfeld versucht, aber das ging auch nicht.

hier die Liste der Eigenschaften des Kombinationsfeldes. Vielleicht sehe ich den Wald vor lauter Bäumen nicht:

Code: Alles auswählen

"Properties of object 
"com.sun.star.form.OComboBoxModel":
SbxINTEGER/void Align; SbxBOOL Autocomplete; SbxLONG/void BackgroundColor; 
SbxINTEGER/void Border; SbxLONG/void BorderColor; SbxOBJECT BoundField; 
SbxINTEGER ClassId; SbxINTEGER ContextWritingMode; SbxINTEGER ControlTypeinMSO; 
SbxBOOL ConvertEmptyToNull; SbxSTRING DataField; SbxSTRING DataFieldProperty; 
SbxSTRING DefaultControl; SbxSTRING DefaultText; SbxBOOL Dropdown; 
SbxBOOL EnableVisible; SbxBOOL Enabled; SbxSINGLE FontCharWidth; 
SbxINTEGER FontCharset; SbxOBJECT FontDescriptor; SbxINTEGER FontEmphasisMark; 
SbxINTEGER FontFamily; SbxSINGLE FontHeight; SbxBOOL FontKerning; 
SbxSTRING FontName; SbxSINGLE FontOrientation; SbxINTEGER FontPitch; 
SbxINTEGER FontRelief; SbxINTEGER FontSlant; SbxINTEGER FontStrikeout; 
SbxSTRING FontStyleName; SbxINTEGER FontType; SbxINTEGER FontUnderline; 
SbxSINGLE FontWeight; SbxINTEGER FontWidth; SbxBOOL FontWordLineMode; 
SbxBOOL GenerateVbaEvents; SbxSTRING HelpText; SbxSTRING HelpURL; 
SbxBOOL HideInactiveSelection; SbxBOOL InputRequired; SbxOBJECT/void LabelControl; 
SbxINTEGER LineCount; SbxSTRING ListSource; SbxLONG ListSourceType; 
SbxINTEGER MaxTextLen; SbxINTEGER MouseWheelBehavior; SbxSTRING Name; 
SbxBOOL NativeWidgetLook; SbxUSHORT ObjIDinMSO; SbxBOOL Printable; 
SbxBOOL ReadOnly; SbxOBJECT ReferenceDevice; SbxARRAY StringItemList; 
SbxINTEGER TabIndex; SbxBOOL/void Tabstop; SbxSTRING Tag; 
SbxSTRING Text; SbxLONG/void TextColor; SbxLONG/void TextLineColor; 
SbxARRAY TypedItemList; SbxINTEGER WritingMode; SbxLONG ItemCount; 
SbxARRAY AllItems; SbxOBJECT PropertySetInfo; SbxARRAY PropertyValues; 
SbxSTRING PropertyToDefault; SbxOBJECT Parent; SbxOBJECT ValueBinding; 
SbxOBJECT ListEntrySource; SbxOBJECT Validator; SbxEMPTY CurrentValue; 
SbxSTRING ServiceName; SbxSTRING ImplementationName; SbxARRAY SupportedServiceNames; 
SbxARRAY Types; SbxARRAY ImplementationId; SbxOBJECT Delegator; 
SbxSTRING Dbg_SupportedInterfaces; SbxSTRING Dbg_Properties; SbxSTRING Dbg_Methods
Zuletzt geändert von deife am Sa 6. Feb 2021, 11:11, insgesamt 1-mal geändert.

RobertG
Beiträge: 2732
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Filter aus Kombinationsfeld

Beitrag von RobertG » Sa 23. Jan 2021, 20:57

Hallo deife,

ein Kombinationsfeld hat nur den Text. Es gibt ja nicht, wie ein Listenfeld, statt des angezeigten Inhaltes einen Fremdschlüssel an die darunterliegende Tabelle weiter.

Du musst ein Listenfeld erstellen unbd dort eine Abfrage bauen, die eben als erstes Feld den Text und als zweites Feld den dazugehörigen Schlüssel enthält. Und diesen schlüssel fragst Du über CurrentValue ab.

Gruß

Robert
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare

deife
Beiträge: 22
Registriert: Di 5. Jan 2021, 16:48

Re: Filter aus Kombinationsfeld

Beitrag von deife » So 24. Jan 2021, 14:16

Hallo Robert,

mit dem Listenfeld hab ich auch schon mal experimentiert. Eigentlich wollte ich was zum Aufklappen, aber das versteckt sich in den Eigenschaften und hab ich auch noch gefunden.

Jetzt hab ich auch kapiert, wie man die Liste der Eigenschaften lesen muss.

Leider wurde bei CurrentValue auch der Text und nicht die ID verwendet. Mit der Eigenschaft "SelectedItems(0)" konnte ich die ID auslesen und dem Filter übergeben.

Vielen Dank.

Grüße
deife

deife
Beiträge: 22
Registriert: Di 5. Jan 2021, 16:48

Re: Filter aus Kombinationsfeld

Beitrag von deife » So 24. Jan 2021, 14:20

zu früh gefreut.

SelectedItems(0) ist nur die Nummer des Eintrags im Listenfeld.

Bin weiter auf der Suche.

deife
Beiträge: 22
Registriert: Di 5. Jan 2021, 16:48

Re: Filter aus Kombinationsfeld

Beitrag von deife » So 24. Jan 2021, 14:34

ok, du hattest Recht. CurrentValue ist die Eigenschaft. Durch meine Spielerei habe ich auch die Nummer des gebundenen Feldes verbogen. Gebundenes Feld wieder auf 1 gesetzt und schon hat CurrentValue den Wert der ID

Danke.

An alle, die das LibreOffice-Forum nutzen:


Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das Jahr 2024.
Einfach per Kreditkarte oder PayPal.
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.

❤️ Vielen lieben Dank für Ihre Unterstützung ❤️

Antworten