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