Re: [de-users] Makro in Base

2010-01-26 Diskussionsfäden Richard Rienäcker

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

2010-01-26 Diskussionsfäden Robert Großkopf
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

2010-01-26 Diskussionsfäden Richard Rienäcker

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

2010-01-25 Diskussionsfäden Robert Großkopf
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

2010-01-25 Diskussionsfäden Robert Großkopf
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

2010-01-25 Diskussionsfäden Richard Rienäcker

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

2010-01-25 Diskussionsfäden Robert Großkopf
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

2010-01-25 Diskussionsfäden Richard Rienäcker

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

2010-01-25 Diskussionsfäden Robert Großkopf
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

2010-01-25 Diskussionsfäden Richard Rienäcker

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

2010-01-24 Diskussionsfäden Robert Großkopf
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