Problem: Verknüpfung mit Subformular

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

oropax
**
Beiträge: 20
Registriert: Mo, 30.03.2009 17:23

Problem: Verknüpfung mit Subformular

Beitrag von oropax »

Hallo zusammen,

Ich hoffe ich bin hier richtig mit meiner Frage. Folgendes Problem:

Grundsätzlich geht es darum, aus zwei vorhandenen Variablen (z.B. Postleitzahl [PPPP] und einer autogenerierten ID [nnn]) eine dritte neue Variable (PPPPnnn) zu generieren. Das Thema wurde bereits ausführlich im OOoBase-Forum besprochen, siehe Link:

viewtopic.php?f=8&t=23766

eBayer hat mir für die obige Problemstellung ein Makro programmiert, welches ich eigentlich direkt für meine Anwendung hätte übernehmen wollen. Allerdings ist dabei ein Problem aufgetreten:

Ursprünglicher Befehl (Test-Makro von ebayer):
oField = thisComponent.drawpage.forms.getByName("TestFormular").getByName("FormFeld1")

Meine Abänderung (Problembefehl):
oField = thisComponent.drawpage.forms.getByName("claims").getByName("fmtaid")

Bei diesem Befehl tritt jeweils folgende Fehlermeldung auf:

BASIC-Laufzeitfehler.
Es ist eine Exception aufgetreten
Type: com.sun.star.container.NoSuchElementException
Message: .


Soweit eBayer und ich das beurteilen können, liegt das Problem im Befehls-Element .getByName("claims"). Während es sich bei eBayers "TestFormular" um ein "Erstebenen Formular" (normales Formular) handelt, ist "claims" ein Subformular von "article".

Wie wäre also der Befehl oField = thisComponent.drawpage.forms.getByName("claims").getByName("fmtaid") korrekt anzupassen?

Vielen Dank im Voraus,
oropax
turtle47
*******
Beiträge: 1849
Registriert: Mi, 04.01.2006 20:10
Wohnort: Rheinbach

Re: Problem: Verknüpfung mit Subformular

Beitrag von turtle47 »

Hallo oropax,

Tante googl weis fast alles. Mit den Suchbegriffen "drawpage.forms subform openoffice" bin ich auf dieser Seite gelandet die als Treffer ganz oben steht.
In dem zweiten Beitrag steht dann die Lösung für Dein Problem :lol:

Der Trick an der ganzen Sache ist, dass man zuerst die MainForm und dann darin die SubForm aufrufen muss.

Ich habe es getestet, es funktioniert.

Viel Erfolg.

Jürgen
Software hat keinen Verstand - benutze deinen eigenen...!

Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Antworten