Re: [de-users] Makro in Base
Robert Großkopf schrieb: Hallo Richard, vielen Dank für Eure Hilfe und Anregungen. Trotzdem habe ich das Makro nicht zum Laufen gebracht. Da ständig -trotz vieler Änderungen- immer die gleiche Meldung kommt, bin ich fast der Ansicht: mein System hat irgendwo einen Bug. Es geht dabei NICHT um das Date-Format. Das Ansprechen des Formulars scheitert schon. Ich werde nun wahrscheinlich weiter den Weg über die Direkteingabe gehen müssen. Trotz des Fehlschlages möchte ich mich bei Euch nochmals für die Hilfe und Geduld bedanken. Wenn Du nichts dagegen hast sende ich Dir per privater Mail einmal meine Testversion, die nur aus einer Tabelle mit ID, 2 Datumswerten und einem Timestamp, dazugehöriger Abfrage und einem einfachen Formular besteht. Melde Dich nur kurz. Gruß Robert - To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org For additional commands, e-mail: users-h...@de.openoffice.org Ich wäre sehr interessiert. -- Einen Gruß aus dem Weide- und Wanderparadies Allrode/Harz sendet Richard - To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org For additional commands, e-mail: users-h...@de.openoffice.org
Re: [de-users] Makro in Base
Hallo Richard, > vielen Dank für Eure Hilfe und Anregungen. Trotzdem habe ich das Makro > nicht zum Laufen gebracht. Da ständig -trotz vieler Änderungen- immer > die gleiche Meldung kommt, bin ich fast der Ansicht: mein System hat > irgendwo einen Bug. Es geht dabei NICHT um das Date-Format. Das > Ansprechen des Formulars scheitert schon. Ich werde nun wahrscheinlich > weiter den Weg über die Direkteingabe gehen müssen. Trotz des > Fehlschlages möchte ich mich bei Euch nochmals für die Hilfe und Geduld > bedanken. > Wenn Du nichts dagegen hast sende ich Dir per privater Mail einmal meine Testversion, die nur aus einer Tabelle mit ID, 2 Datumswerten und einem Timestamp, dazugehöriger Abfrage und einem einfachen Formular besteht. Melde Dich nur kurz. Gruß Robert - To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org For additional commands, e-mail: users-h...@de.openoffice.org
Re: [de-users] Makro in Base
Hallo Robert, hallo Frank, hallo Andreas, vielen Dank für Eure Hilfe und Anregungen. Trotzdem habe ich das Makro nicht zum Laufen gebracht. Da ständig -trotz vieler Änderungen- immer die gleiche Meldung kommt, bin ich fast der Ansicht: mein System hat irgendwo einen Bug. Es geht dabei NICHT um das Date-Format. Das Ansprechen des Formulars scheitert schon. Ich werde nun wahrscheinlich weiter den Weg über die Direkteingabe gehen müssen. Trotz des Fehlschlages möchte ich mich bei Euch nochmals für die Hilfe und Geduld bedanken. -- Einen Gruß aus dem Weide- und Wanderparadies Allrode/Harz sendet Richard - To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org For additional commands, e-mail: users-h...@de.openoffice.org
Re: [de-users] Makro in Base
Hallo Richard, > > ... aber im Moment ist das Makro leider 2 Tage unserer zeit voraus - siehe > den anderen Strang dieses Threads. Die 2 Tage sind recht einfach korrigierbar, indem von der Double-Zahl 2 subtrahiert werden. SUB Jetzt DIM oDoc AS OBJECT DIM oDrawpage AS OBJECT DIM oForm AS OBJECT DIM d AS DOUBLE DIM oFeld AS OBJECT oDoc=thisComponent oDrawpage=oDoc.drawpage oForm=oDrawpage.forms.getByName("MainForm") oFeld=oForm.getByName("FormattedField") d = now() d = d-2 oFeld.BoundField.updateDouble(d) END SUB führt bei mir (deine Felder lauten anders) zum korrekten Datum und der korrekten Zeit sowohl im Formular als auch in der Datenbank. Gruß Robert - To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org For additional commands, e-mail: users-h...@de.openoffice.org
Re: [de-users] Makro in Base
Hallo Richard, > Danke für die schnelle Hilfe. > In dem Formular "IstBestand" habe ich das Ereignis 'wen Fokus erhalten' > mit dem Makro verknüpft. Wenn ich den Kursor in das Feld "um" setze > läuft das Makro bis zur Zeile: > oForm=oDrawwpage.forms.getByName("IstBestand") An dieser Zeile im > Debuger kommt diese Fehlermeldung: "BASIC-Laufzeitfehler. Es ist eine > Exception aufgetreten Typ: > com.sun.star.container.NoSuchElementExceptionMessage:." Drawpage war vorher definiert, nicht Drawwpage. > das Feld "um" hat das Format [TIMESTAMPS]. Meine OOo- version ist 3.11. > Kann es eventuell an Vista liegen, das Formular nicht anzusprechen ist? > ... aber im Moment ist das Makro leider 2 Tage unserer zeit voraus - siehe den anderen Strang dieses Threads. Gruß Robert - To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org For additional commands, e-mail: users-h...@de.openoffice.org
Re: [de-users] Makro in Base
Robert Großkopf schrieb: Hallo Richard, Hallo Robert, Danke für deine Hilfe. Leider wird das Makro nicht bis dahin abgearbeitet. Bereits in der Zeile oForm=thisComponent.drawpage.forms.getByName("IstBestand") des Makros bleibt der Debuger stehen und gibt die obige Fehlermeldung aus. Ich habe aus dem Formularnamen den Unterstrich rausgenommen, aber das Ergebnis ist das gleiche. Auch die Änderung drawpage in basepage brachte nichts anderes. Ich bin für jede Anregung dankbar, weil auch Fehleingaben dadurch vermieden werden und genauere Aussagen möglich sind. Danke im Voraus Ich bin davon ausgegangen, dass diese Verkürzung möglich ist. Bei mir mit Erfolg getestet ist die folgende Variante: SUB Jetzt DIM oDoc AS OBJECT DIM oDrawpage AS OBJECT DIM oForm AS OBJECT DIM d AS DOUBLE DIM oFeld AS OBJECT oDoc=thisComponent oDrawpage=oDoc.drawpage oForm=oDrawpage.forms.getByName("IstBestand") oFeld=oForm.getByName("um") d = now() oFeld.BoundField.updateDouble(d) END SUB Vielleicht kommen aber auch beim Einlesen aus dem Mailprogramm Fehler dazu (andere Interpretation von Leerzeichen ...) Das Feld "um" ist als formatiertes Feld mit dem entsprechenden Datums-Zeit- Format versehen. Gruß Robert Hallo Robert Danke für die schnelle Hilfe. In dem Formular "IstBestand" habe ich das Ereignis 'wen Fokus erhalten' mit dem Makro verknüpft. Wenn ich den Kursor in das Feld "um" setze läuft das Makro bis zur Zeile: oForm=oDrawwpage.forms.getByName("IstBestand") An dieser Zeile im Debuger kommt diese Fehlermeldung: "BASIC-Laufzeitfehler. Es ist eine Exception aufgetreten Typ: com.sun.star.container.NoSuchElementExceptionMessage:." das Feld "um" hat das Format [TIMESTAMPS]. Meine OOo- version ist 3.11. Kann es eventuell an Vista liegen, das Formular nicht anzusprechen ist? -- Einen Gruß aus dem Weide- und Wanderparadies Allrode/Harz sendet Richard - To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org For additional commands, e-mail: users-h...@de.openoffice.org
Re: [de-users] Makro in Base
Hallo Richard, > > Hallo Robert, > Danke für deine Hilfe. Leider wird das Makro nicht bis dahin > abgearbeitet. Bereits in der Zeile > oForm=thisComponent.drawpage.forms.getByName("IstBestand") > des Makros bleibt der Debuger stehen und gibt die obige Fehlermeldung > aus. Ich habe aus dem Formularnamen den Unterstrich rausgenommen, aber > das Ergebnis ist das gleiche. Auch die Änderung drawpage in basepage > brachte nichts anderes. Ich bin für jede Anregung dankbar, weil auch > Fehleingaben dadurch vermieden werden und genauere Aussagen möglich > sind. Danke im Voraus Ich bin davon ausgegangen, dass diese Verkürzung möglich ist. Bei mir mit Erfolg getestet ist die folgende Variante: SUB Jetzt DIM oDoc AS OBJECT DIM oDrawpage AS OBJECT DIM oForm AS OBJECT DIM d AS DOUBLE DIM oFeld AS OBJECT oDoc=thisComponent oDrawpage=oDoc.drawpage oForm=oDrawpage.forms.getByName("IstBestand") oFeld=oForm.getByName("um") d = now() oFeld.BoundField.updateDouble(d) END SUB Vielleicht kommen aber auch beim Einlesen aus dem Mailprogramm Fehler dazu (andere Interpretation von Leerzeichen ...) Das Feld "um" ist als formatiertes Feld mit dem entsprechenden Datums-Zeit- Format versehen. Gruß Robert - To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org For additional commands, e-mail: users-h...@de.openoffice.org
Re: [de-users] Makro in Base
Robert Großkopf schrieb: Hallo Richard, Da aber die Ereignisse bzw der Stand der Parameter in verschiedenen Zeitintervallen ( einige h bis max 180h) neu bewertet und der Ist-Stand neu einzutragen ist, wäre das Eintragen der Zeit (jetzt-Zeit) sehr hilfreich. Dazu gibt es in der Tabelle "Bestand" eine Feld "um" mit dem Format [TIMESTAMP]. In einem Formular, in welchen unter anderen auch diese Tabelle mit eingearbeitet ist, werden die verschiedenen Wert eingetragen. Mein Wunsch wäre: Wenn der Fokus auf diesem Formularfeld ist, durch eine bestimmte Taste oder noch besser durch ein Schaltfeld ein Makro aufgerufen wird, welches in dieses Tabellenfeld "um" die Zeit z.B. NOW() einschreibt. Vielen Dank für Eure Hilfe im Voraus. SUB Jetzt DIM d AS DATE DIM oForm AS OBJECT DIM oFeld AS OBJECT oForm=thisComponent.drawpage.forms.getByName("Formularname") oFeld=oForm.getByName("Feldname") d = now() oFeld.BoundField.updateDate(d) END SUB Das würde ich an den Eventhandler "onfocus" (oder so ähnlich heißt das) des Feldes "Feldname" klemmen. Leider klappt der Aufruf nicht wie geplant. Wenn das Feld den Fokus erhält, kommt eine Fehlermeldung, die besagt: "Typ: com.sun.star.container.NoSuchElementException Message:. " Der Formularname ist ("Ist_Bestand") und ist auch so wie er hier geschrieben steht auch im Makro so eingetragen. Im Editor-Fenster erscheint er rot. auch der Feldname ("um") ist rot. Deute das auf einen Fehler hin? Für weitere Hilfe wäre ich dankbar Ich habe das gerade einmal ausprobiert. Die Geschichte mit der Datumsübergabe ist vermutlich eine Sache von amerikanischer und deutscher Schreibweise. Das hat mich einiges an probieren gekostet, bis ich dahinter kam: Du hast das Feld als Timestamp definiert. Im Formular hast Du ein formatiertes Feld, das eben den Timestamp darstellt. Jetzt musst Du das Makro folgendermaßen anpassen: DIM d AS DOUBLE d = now() oFeld.BoundField.updateDouble(d) Das führt dazu, dass das Feld im Formular den Timestamp anzeigt und die darunter liegende Tabelle den Wert auch übernimmt. Gruß Robert Hallo Robert, Danke für deine Hilfe. Leider wird das Makro nicht bis dahin abgearbeitet. Bereits in der Zeile oForm=thisComponent.drawpage.forms.getByName("IstBestand") des Makros bleibt der Debuger stehen und gibt die obige Fehlermeldung aus. Ich habe aus dem Formularnamen den Unterstrich rausgenommen, aber das Ergebnis ist das gleiche. Auch die Änderung drawpage in basepage brachte nichts anderes. Ich bin für jede Anregung dankbar, weil auch Fehleingaben dadurch vermieden werden und genauere Aussagen möglich sind. Danke im Voraus -- Einen Gruß aus dem Weide- und Wanderparadies Allrode/Harz sendet Richard
Re: [de-users] Makro in Base
Hallo Richard, > > > >> Da aber die Ereignisse bzw der Stand der Parameter in verschiedenen > >> Zeitintervallen ( einige h bis max 180h) neu bewertet und der Ist-Stand > >> neu einzutragen ist, wäre das Eintragen der Zeit (jetzt-Zeit) sehr > >> hilfreich. Dazu gibt es in der Tabelle "Bestand" eine Feld "um" mit dem > >> Format [TIMESTAMP]. In einem Formular, in welchen unter anderen auch > >> diese Tabelle mit eingearbeitet ist, werden die verschiedenen Wert > >> eingetragen. Mein Wunsch wäre: Wenn der Fokus auf diesem Formularfeld > >> ist, durch eine bestimmte Taste oder noch besser durch ein Schaltfeld > >> ein Makro aufgerufen wird, welches in dieses Tabellenfeld "um" die Zeit > >> z.B. NOW() einschreibt. Vielen Dank für Eure Hilfe im Voraus. > > > > SUB Jetzt > > DIM d AS DATE > > DIM oForm AS OBJECT > > DIM oFeld AS OBJECT > > oForm=thisComponent.drawpage.forms.getByName("Formularname") > > oFeld=oForm.getByName("Feldname") > > d = now() > > oFeld.BoundField.updateDate(d) > > END SUB > > > > Das würde ich an den Eventhandler "onfocus" (oder so ähnlich heißt das) > > des Feldes "Feldname" klemmen. > > > > Wenn Du die verschiedenen Formatierungen herausbekommen willst, die now() > > so abgibt, kannst Du auch einmal > > DIM d AS Double > > versuchen. Dann erhältst Du die Zeit als internen Zahlenwert. Wie die > > Vebindung zur Datenbank damit klappt habe ich jetzt allerdings nicht > > geprüft. Ich hoffe, dass daraus dann wirklich der gewünschte Wert Datum - > > Zeit erstellt wird. > > > > Gruß > > > > Robert > > Leider klappt der Aufruf nicht wie geplant. Wenn das Feld den Fokus > erhält, kommt eine Fehlermeldung, die besagt: "Typ: > com.sun.star.container.NoSuchElementException Message:. " Der > Formularname ist ("Ist_Bestand") und ist auch so wie er hier geschrieben > steht auch im Makro so eingetragen. Im Editor-Fenster erscheint er rot. > auch der Feldname ("um") ist rot. Deute das auf einen Fehler hin? Für > weitere Hilfe wäre ich dankbar Ich habe das gerade einmal ausprobiert. Die Geschichte mit der Datumsübergabe ist vermutlich eine Sache von amerikanischer und deutscher Schreibweise. Das hat mich einiges an probieren gekostet, bis ich dahinter kam: Du hast das Feld als Timestamp definiert. Im Formular hast Du ein formatiertes Feld, das eben den Timestamp darstellt. Jetzt musst Du das Makro folgendermaßen anpassen: DIM d AS DOUBLE d = now() oFeld.BoundField.updateDouble(d) Das führt dazu, dass das Feld im Formular den Timestamp anzeigt und die darunter liegende Tabelle den Wert auch übernimmt. Gruß Robert - To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org For additional commands, e-mail: users-h...@de.openoffice.org
Re: [de-users] Makro in Base
Robert Großkopf schrieb: Hallo Richard, Da aber die Ereignisse bzw der Stand der Parameter in verschiedenen Zeitintervallen ( einige h bis max 180h) neu bewertet und der Ist-Stand neu einzutragen ist, wäre das Eintragen der Zeit (jetzt-Zeit) sehr hilfreich. Dazu gibt es in der Tabelle "Bestand" eine Feld "um" mit dem Format [TIMESTAMP]. In einem Formular, in welchen unter anderen auch diese Tabelle mit eingearbeitet ist, werden die verschiedenen Wert eingetragen. Mein Wunsch wäre: Wenn der Fokus auf diesem Formularfeld ist, durch eine bestimmte Taste oder noch besser durch ein Schaltfeld ein Makro aufgerufen wird, welches in dieses Tabellenfeld "um" die Zeit z.B. NOW() einschreibt. Vielen Dank für Eure Hilfe im Voraus. SUB Jetzt DIM d AS DATE DIM oForm AS OBJECT DIM oFeld AS OBJECT oForm=thisComponent.drawpage.forms.getByName("Formularname") oFeld=oForm.getByName("Feldname") d = now() oFeld.BoundField.updateDate(d) END SUB Das würde ich an den Eventhandler "onfocus" (oder so ähnlich heißt das) des Feldes "Feldname" klemmen. Wenn Du die verschiedenen Formatierungen herausbekommen willst, die now() so abgibt, kannst Du auch einmal DIM d AS Double versuchen. Dann erhältst Du die Zeit als internen Zahlenwert. Wie die Vebindung zur Datenbank damit klappt habe ich jetzt allerdings nicht geprüft. Ich hoffe, dass daraus dann wirklich der gewünschte Wert Datum - Zeit erstellt wird. Gruß Robert Leider klappt der Aufruf nicht wie geplant. Wenn das Feld den Fokus erhält, kommt eine Fehlermeldung, die besagt: "Typ: com.sun.star.container.NoSuchElementException Message:. " Der Formularname ist ("Ist_Bestand") und ist auch so wie er hier geschrieben steht auch im Makro so eingetragen. Im Editor-Fenster erscheint er rot. auch der Feldname ("um") ist rot. Deute das auf einen Fehler hin? Für weitere Hilfe wäre ich dankbar Einen Gruß aus dem Weide- und Wanderparadies Allrode/Harz sendet Richard - To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org For additional commands, e-mail: users-h...@de.openoffice.org
Re: [de-users] Makro in Base
Hallo Richard, > Nun zu Sachverhalt: In einer Versuchsanordnung sind verschiedene > Verschleiß- und andere Leistungsparameter zu dokumentieren und ihre > Abweichungen auszuwerten. dazu benutze ich eine Datenbank mit > verschiedenen Tabellen, Formularen und Abfragen bzw Berichten. Bei der > Berechnung der Vorhersagen hat mir Robert richtig gut beraten. > Da aber die Ereignisse bzw der Stand der Parameter in verschiedenen > Zeitintervallen ( einige h bis max 180h) neu bewertet und der Ist-Stand > neu einzutragen ist, wäre das Eintragen der Zeit (jetzt-Zeit) sehr > hilfreich. Dazu gibt es in der Tabelle "Bestand" eine Feld "um" mit dem > Format [TIMESTAMP]. In einem Formular, in welchen unter anderen auch > diese Tabelle mit eingearbeitet ist, werden die verschiedenen Wert > eingetragen. Mein Wunsch wäre: Wenn der Fokus auf diesem Formularfeld > ist, durch eine bestimmte Taste oder noch besser durch ein Schaltfeld > ein Makro aufgerufen wird, welches in dieses Tabellenfeld "um" die Zeit > z.B. NOW() einschreibt. Vielen Dank für Eure Hilfe im Voraus. > SUB Jetzt DIM d AS DATE DIM oForm AS OBJECT DIM oFeld AS OBJECT oForm=thisComponent.drawpage.forms.getByName("Formularname") oFeld=oForm.getByName("Feldname") d = now() oFeld.BoundField.updateDate(d) END SUB Das würde ich an den Eventhandler "onfocus" (oder so ähnlich heißt das) des Feldes "Feldname" klemmen. Wenn Du die verschiedenen Formatierungen herausbekommen willst, die now() so abgibt, kannst Du auch einmal DIM d AS Double versuchen. Dann erhältst Du die Zeit als internen Zahlenwert. Wie die Vebindung zur Datenbank damit klappt habe ich jetzt allerdings nicht geprüft. Ich hoffe, dass daraus dann wirklich der gewünschte Wert Datum - Zeit erstellt wird. Gruß Robert - To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org For additional commands, e-mail: users-h...@de.openoffice.org