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