Generierung neuer Variablen
Moderator: Moderatoren
Re: Generierung neuer Variablen
@ 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...
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.
Re: Generierung neuer Variablen
@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.
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.
Re: Generierung neuer Variablen
Hallo Oropax
Extras=>Base=> Datenbanken => neu
Gruss Bernd
Du musst die Datenbank bei OO anmelden; dann hat's zumindest bei mir funktioniert.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.
Extras=>Base=> Datenbanken => neu
Gruss Bernd
Re: Generierung neuer Variablen
ok, super...
ebayer's variante funktioniert. bei meiner happert's noch ein wenig...
ebayer's variante funktioniert. bei meiner happert's noch ein wenig...
Re: Generierung neuer Variablen
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?
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
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
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
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
Re: Generierung neuer Variablen
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.
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
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
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
Re: Generierung neuer Variablen
Super! Herzlichen Dank für die geduldigen und lehrreichen Ausführungen.
Re: Generierung neuer Variablen
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?
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
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
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
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
Re: Generierung neuer Variablen
hallo eBayer,
Das habe ich eigentlich schon versucht, trotzdem wird die Fehlermeldung weiterhin angezeigt, keine Ahnung wieso.
Aber ich probier jetzt nocheinmal...
Das habe ich eigentlich schon versucht, trotzdem wird die Fehlermeldung weiterhin angezeigt, keine Ahnung wieso.
Aber ich probier jetzt nocheinmal...
Re: Generierung neuer Variablen
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...
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
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
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
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
Re: Generierung neuer Variablen
@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.
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.