Generierung neuer Variablen

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Generierung neuer Variablen

Re: Generierung neuer Variablen

von keksi1970 » Sa, 04.04.2009 17:46

soweit ich das jetzt verstanden habe, versuchst du auf ein Kontrollfeld in einem Subformular zuzugreifen, ohne auf das Subformular zuzugreifen . . .

oForm = ThisComponent.drawpage.forms.getbyname("Hauptformular") 'greift auf dein Hauptformular zu
textCtrl = oFOrm.getbyname("Textfeld1") 'greift auf das Textfeld1 im HAUPTFORMULAR zu. ist dieses in einem "Unterformular" mußt du erst auf dieses zugreifen
oForm 2 = oForm.getbyname("Unterformular") ' Zugang zum Unterformular
textCTRL = oFOrm2.getbyname("Textfeld2") ' greift dann auf das mit "Textfeld2" benannte Kontrollelement im Unterformular zu

in deinem Fall : (ohne Prüfung)

oField = THisComponent.drawpage.getbyname("Article").getbyname("claims").getbyname("frames").getbyname("KONTROLLELEMENT_in_der_3._Ebene")


lg Andreas

Re: Generierung neuer Variablen

von tunix_xl » Sa, 04.04.2009 00:14

sorry - hat sich erledigt

Re: Generierung neuer Variablen

von oropax » Fr, 03.04.2009 18:37

@eBayer
Leider funktioniert die vorgeschlagene Variante "Formular.Subformular" auch nicht. Trotzdem danke für deinen engagierten Einsatz. Sobald ich eine Lösung finde, lass ich es dich wissen.

Re: Generierung neuer Variablen

von eBayer » Fr, 03.04.2009 18:30

habe mit subformularen noch keine erfahrung.
aber ist dein subformular nicht ein control in article?
dann mußt du vermutlich auch entsprechend adressieren (article.subformular) ... in der art.
schade, muß leider passen... aber versuche es mal so.... testweise.
Gruß eBayer

Re: Generierung neuer Variablen

von oropax » Fr, 03.04.2009 18:19

Mir scheint, man müsste den Pfad anpassen, wenn man auf ein Subformular zugreifen möchte.

Grund: Wenn ich auf das in der Strukutur höchste Formular zugreife funktioniert es, beim Subformular kommt aber jedesmal eine Fehlermeldung...

1. Ebene: Article
2. Ebene (1. Subformular): claims
3. Ebene (2. Subformular): frames

verwende ich "Article" funktioniert das Makro, verwende ich "claims" kommt die oben beschriebene Fehlermeldung...

Re: Generierung neuer Variablen

von oropax » Fr, 03.04.2009 18:05

hallo eBayer,
Das habe ich eigentlich schon versucht, trotzdem wird die Fehlermeldung weiterhin angezeigt, keine Ahnung wieso.

Aber ich probier jetzt nocheinmal...

Re: Generierung neuer Variablen

von eBayer » Fr, 03.04.2009 17:51

verlaß Dich nicht darauf, daß Dein Formular so heißt, wie es in der IDE aufgezeigt wird.
Du mußt den Namen verwenden, der IM Formular gespeichert ist!
Falls Du nicht weißt, wie Du dahin kommst....
1. klick mit rechter Maustaste in irgendein Control des Formulars
2. im nun erscheinenden PopUp-Menu "Formular" anklicken
3. Beim tab "Allgemein" im Feld Name steht der von Dir zu verwendende Name des Formulars.
Du kannst diesen auch in Deinem Sinne ändern.
Und nun versuche es nochmal.
Das ist übrigens das was ich schon vor einigen Tagen geschrieben habe...... die nächsten Fragen und Probleme kommen bestimmt und machen es notwendig, sich intensiver mit Base zu beschäftigen.
Gruß eBayer

Re: Generierung neuer Variablen

von oropax » Fr, 03.04.2009 14:20

Offensichtlich bin ich zu doof für base...

Ich versuche gerade das Makro von eBayer auf meine Anwendung zu übertragen: Dürfte ja eigentlich nicht so schwer sein...Namen ändern und fertig, würde man zumindest meinen.

An folgender Stelle tritt allerdings immer ein Fehler auf...

oField = thisComponent.drawpage.forms.getByName("TestFormular").getByName("FormFeld1")

Meine Interpretation: "TestFormular" ist der Name des Formulars, auf welches zurückgegriffen wird und "FormFeld1" der Name des Feldes, welches den zur weiteren Verwendung vorgesehenen Wert enthält. Ist das korrekt?

Fehlermeldung bei meiner Anwendung:

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

Die Fehlermeldung kenne ich bereits (siehe oben). Ich habe verschiedenste Varianten zur Behebung ausprobiert, ohne Erfolg. Vielleicht könnt ihr mir weiterhelfen...

Mein Formular ist folgendermassen aufgebaut:
Formularname: formular
1. Ebene: Article
Subformular: claims (auf dieser Ebene werden die Ausgangsvariablen codiert)

Ich vermute, dass aufgrund des Subformulars die Verknüpfung angepasst werden muss, aber wie?

Re: Generierung neuer Variablen

von oropax » Mi, 01.04.2009 16:31

Super! Herzlichen Dank für die geduldigen und lehrreichen Ausführungen.

Re: Generierung neuer Variablen

von eBayer » Mi, 01.04.2009 16:27

RICHTIG

Re: Generierung neuer Variablen

von oropax » Mi, 01.04.2009 16:18

Also, das wär ja super...

Allerdings bin ich nicht sicher was du mit der führenden Null meinst:

Also der zweite Wert in der Spalte Ergebnis ist 4711002. Und das ist doch auch gut so? Die Nullen vor der 2 werden übernommen, das ist selbstverständlich wichtig. Und vor der 4 gibts sowieso keine Null. Dementsprechend wird aus 4711 (Feld1) und 2 (ID) der neue Wert 4711002 (Ergebnis) generiert. Und nach ändern des Feldtypen (von Text[] auf Integer[]) werden die neuen Werte in numerischem Format (und nicht string!) gespeichert.

Richtig? Das wär perfekt.

Re: Generierung neuer Variablen

von eBayer » Mi, 01.04.2009 15:01

Beim speichern des Strings in die Datenbank wird der Feldtyp automatisch angepaßt.
Also steht nach deiner Änderung in der Tabelle nun das Ergebins als Integer. Du siehst das ganz gut an den Beispieldaten.
Im Ergebnisfeld wird nun die Position 4711 nicht mehr mit führender Null angezeigt, wie das zuvor bei der Definition als Textfeld in der Tabelle der Fall war.
Gruß eBayer

Re: Generierung neuer Variablen

von oropax » Mi, 01.04.2009 14:43

Nocheimal zum Problem mit dem Variablentyp:

Soweit ich das beurteilen kann wird eine String-Variable generiert...
Wenn ich aber den Feldtypen in der Tabelle für die Spalte "Ergebnis" (die neu generierte Variable) von Text[] auf Integer[] wechsle und anschliessend das Makro ausführe wird keine Fehlermeldung angezeigt.

Meine Frage: Werden nun die neu generierten Werte in Text (string) oder in numerischem Format gespeichert?

Re: Generierung neuer Variablen

von oropax » Mi, 01.04.2009 13:22

ok, super...

ebayer's variante funktioniert. bei meiner happert's noch ein wenig...

Re: Generierung neuer Variablen

von berndkli » Mi, 01.04.2009 13:04

Hallo Oropax
1. Wenn ich die Schaltfläche "Update" (& "Ergebnisse Löschen") betätige wird folgende Fehlermeldung eingeblendet:

BASIC-Laufzeitfehler.
Es ist eine Exception aufgetreten
Type: com.sun.star.container.NoSuchElementException
Message: Test1.
Du musst die Datenbank bei OO anmelden; dann hat's zumindest bei mir funktioniert.
Extras=>Base=> Datenbanken => neu

Gruss Bernd

Nach oben