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-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

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

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,
 
 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,
  

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,

 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 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-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