Generierung neuer Variablen

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

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

Re: Generierung neuer Variablen

Beitrag von oropax »

@ ebayer,

Vielen Dank für dein Testprogramm. Ich habe es mir mal genauer angeschaut und bin auf zwei Probleme gestossen.

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.

Ich habe versucht den Fehler zu beheben, war dabei allerdings nicht erfolgreich.

2. Soweit ich die Sache richtig interpretiere, formst du die numerischen Variablen in String Variablen um. Die neu generierte Variable "Ergebnis" wäre dann also auch eine String Variable. Wichtig wäre allerdings, dass die neue Variable "Ergebnis" ebenfalls eine numerische Variable ist. Um dies zu erreichen, habe ich, deinen Vorlagen folgend, versucht ein eigenes Makro (MeineVariante) zu schreiben. Leider funktioniert dieses nicht und ist daher in Bearbeitung...
Zuletzt geändert von oropax am Mi, 01.04.2009 13:43, insgesamt 1-mal geändert.
oropax
**
Beiträge: 20
Registriert: Mo, 30.03.2009 17:23

Re: Generierung neuer Variablen

Beitrag von oropax »

@berndkli

Danke für den Hinweis. Allerdings ist es entscheidend, dass die Werte auch in der Tabelle eingetragen werden. Daher behebt die Variante mit der Abfrage nicht wirklich mein Problem.
berndkli
*****
Beiträge: 289
Registriert: Di, 12.04.2005 22:05

Re: Generierung neuer Variablen

Beitrag von berndkli »

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
oropax
**
Beiträge: 20
Registriert: Mo, 30.03.2009 17:23

Re: Generierung neuer Variablen

Beitrag von oropax »

ok, super...

ebayer's variante funktioniert. bei meiner happert's noch ein wenig...
oropax
**
Beiträge: 20
Registriert: Mo, 30.03.2009 17:23

Re: Generierung neuer Variablen

Beitrag von oropax »

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?
eBayer
******
Beiträge: 556
Registriert: Do, 04.12.2008 14:33
Wohnort: Augsburg

Re: Generierung neuer Variablen

Beitrag von eBayer »

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
Intel(R) Core(TM)2 Quad CPU Q8200 @ 2.33GHz mit 4 GB Memory (3,2 GB aktiv)
Vista Home Premium 32 Bit
openOffice 3.1.1 mit Sun Report Builder 1.1.0 und MySql 5.1
Hauptinteresse ooBase seit 12.2008
oropax
**
Beiträge: 20
Registriert: Mo, 30.03.2009 17:23

Re: Generierung neuer Variablen

Beitrag von oropax »

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.
eBayer
******
Beiträge: 556
Registriert: Do, 04.12.2008 14:33
Wohnort: Augsburg

Re: Generierung neuer Variablen

Beitrag von eBayer »

RICHTIG
Intel(R) Core(TM)2 Quad CPU Q8200 @ 2.33GHz mit 4 GB Memory (3,2 GB aktiv)
Vista Home Premium 32 Bit
openOffice 3.1.1 mit Sun Report Builder 1.1.0 und MySql 5.1
Hauptinteresse ooBase seit 12.2008
oropax
**
Beiträge: 20
Registriert: Mo, 30.03.2009 17:23

Re: Generierung neuer Variablen

Beitrag von oropax »

Super! Herzlichen Dank für die geduldigen und lehrreichen Ausführungen.
oropax
**
Beiträge: 20
Registriert: Mo, 30.03.2009 17:23

Re: Generierung neuer Variablen

Beitrag von oropax »

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?
eBayer
******
Beiträge: 556
Registriert: Do, 04.12.2008 14:33
Wohnort: Augsburg

Re: Generierung neuer Variablen

Beitrag von eBayer »

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
Intel(R) Core(TM)2 Quad CPU Q8200 @ 2.33GHz mit 4 GB Memory (3,2 GB aktiv)
Vista Home Premium 32 Bit
openOffice 3.1.1 mit Sun Report Builder 1.1.0 und MySql 5.1
Hauptinteresse ooBase seit 12.2008
oropax
**
Beiträge: 20
Registriert: Mo, 30.03.2009 17:23

Re: Generierung neuer Variablen

Beitrag von oropax »

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

Aber ich probier jetzt nocheinmal...
oropax
**
Beiträge: 20
Registriert: Mo, 30.03.2009 17:23

Re: Generierung neuer Variablen

Beitrag von oropax »

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...
eBayer
******
Beiträge: 556
Registriert: Do, 04.12.2008 14:33
Wohnort: Augsburg

Re: Generierung neuer Variablen

Beitrag von eBayer »

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
Intel(R) Core(TM)2 Quad CPU Q8200 @ 2.33GHz mit 4 GB Memory (3,2 GB aktiv)
Vista Home Premium 32 Bit
openOffice 3.1.1 mit Sun Report Builder 1.1.0 und MySql 5.1
Hauptinteresse ooBase seit 12.2008
oropax
**
Beiträge: 20
Registriert: Mo, 30.03.2009 17:23

Re: Generierung neuer Variablen

Beitrag von oropax »

@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.
Antworten