Seite 1 von 1

ListenFelder auslesen

Verfasst: Di, 17.11.2009 22:09
von tom1502
Hallo,

ich war früher ziemlich Fit in Access und versuche nun verzweifelt, mit OO Base und Basic klarzukommen.
Ich habe in einem Formular ein Listenfeld mit folgendem SQL als Inhalt:

Code: Alles auswählen

SELECT CONCAT( CONCAT( "Besitzer"."Nachname", ', ' ), "Besitzer"."Vorname" ) AS "Voller_name", "ID" AS "ID" FROM "Besitzer" AS "Besitzer"
Gebundenes Feld ist 1.
Das Feld "ID" ist der PK der Tabelle Besitzer. Das Datenfeld des Listenfelds ist das Feld "Besitzer" welches die ID als Fremdschlüssel enthält.

Jetzt möchte ich mit Basic auf die ID des in dem Listenfeld angezeigten Datensatzes zugreifen. Dazu habe ich mir folgendes Makro geschrieben(ok zusammenkopiert ;) )

Code: Alles auswählen

Sub showID

dim oDoc as Object
dim oForm as Object
dim oFeld as Object

   oDoc = ThisComponent
   oForm = oDoc.drawpage.forms.getByName("Patienten")
   oFeld = oForm.getByName("lstBesitzer")
   msgbox oFeld.CurrentValue
End Sub
Allerdings wird mir bei CurrentValue immer der CONCAT wert ausgegeben, welcher auch in dem Listenfeld angezeigt werden soll. Komme ich IRGENDWIE an die ID?


2. Frage: Gibt es eine Befehlsreferenz, bzw. Objektdoku in der steht, dass ein Formular die Methode getByName usw. bietet, oder "weiß" man das einfach?

DAnke im Voraus und grüße,
Tom

Re: ListenFelder auslesen

Verfasst: Di, 17.11.2009 23:21
von eBayer
schau Dir das beiliegende kleine Beispiel an. Es verrät und zeigt Dir, wie Du mit Listboxen umgehen kannst..... beantwortet auch Deine Frage hinsichtlich ID.
Hier findest Du fast alles, was Dir bei oOBase weiterhelfen kann:
http://www.wienandt.de/seiten/openoffice.htm
http://www.dannenhoefer.de/faqstarbasic/index.html
Gruß eBayer

Re: ListenFelder auslesen

Verfasst: So, 29.11.2009 19:49
von tom1502
Hey eBayer,

die ValueItemlist macht genau das was ich brauche... perfekt! DANKE!!!

Gibts so eine Befehls/Objekt/Methodenreferenz, wie in Access für VBA?

Danke und Grüße,
Thomas

Re: ListenFelder auslesen

Verfasst: So, 29.11.2009 20:56
von eBayer
Ich kenne leider auch keine Doku, nach der Du fragst.
Diese Lösung habe ich im Internet im amerikanischen Forum gefunden.
Darüber hinaus helfe ich mir mit xray, ein sehr gutes Tool, mit dem man Objecte untersuchen kann....
Gruß eBayer