🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Feld e_Datum mit aktuellen Datum belegen

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
Antworten
Pcdirk91
Beiträge: 17
Registriert: Do 31. Okt 2013, 13:23

Feld e_Datum mit aktuellen Datum belegen

Beitrag von Pcdirk91 » Do 31. Okt 2013, 13:33

Hallo,
bin neu hier und hoffe meine Frage ist nicht ganz neu hier. Seit kurzem habe ich das openOffice 4.0.1

Ich möchte in meiner Datenbank Adressen beim Neuanlegen eines Datensatzes in dem Formularfeld E_Datun das aktuelle Systemdatum abspeichern . Geht das und wie kann ich das realisieren.
Im Forum habe ich beim durchsehen leider keinen Beitrag dazu gefunden
Im Viraus vielen Dank für Eure Hilfe

RobertG
* LO-Experte *
Beiträge: 2884
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Feld e_Datum mit aktuellen Datum belegen

Beitrag von RobertG » Do 31. Okt 2013, 16:23

Hallo Pcdirk91,

die einfach Lösungsmöglichkeit für so ein Standarddatum ist es, das Feld in der Tabelle auf diesen Standard einzustellen:

Code: Alles auswählen

ALTER TABLE "Tabellenname" ALTER COLUMN "Feldname" SET DEFAULT CURRENT_DATE;
Dies wird unter Extras → SQL direkt eingegeben. Es ist nicht möglich, über die grafische Benutzeroberfläche solche Defaultwerte zu erstellen.
Dieser Wert wird allerdings erst dann geschrieben, wenn die Tabelle abgespeichert ist. Er erscheint also nicht vorher in Deinem Formular, sondern erst nach dem Abspeichern des Datensatzes.
Hier war das auch schon (mehrmals) Diskussion:
http://de.openoffice.info/viewtopic.php?f=8&t=62364

Gruß

Robert
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare

Pcdirk91
Beiträge: 17
Registriert: Do 31. Okt 2013, 13:23

Re: Feld e_Datum mit aktuellen Datum belegen

Beitrag von Pcdirk91 » Do 31. Okt 2013, 19:19

Hi ,
erstmal Danke für die schnelle Hilfe. das Beispiel was Du als Lin angegeben gast hatte uh pbersehen; Ist auch im anderen Forum das ich nicht kannte. Naja es funzt und das ist wichtig
LG von Dirk

Eixen
Beiträge: 16
Registriert: Mi 11. Dez 2013, 14:06

Re: Feld e_Datum mit aktuellen Datum belegen

Beitrag von Eixen » Mi 11. Dez 2013, 14:10

Moin liebe LO-Community,
vielen Dank für den schnellen und einfachen Hinweis, sehr praktisch.
Allerdings wird das Default-Datum nur bei einem neuen Datensatz eingetragen, und nicht bei geänderten Datensätzen.
Gibt es dafür auch noch einen einfachen Trick?
Beste Grüße,
Eixen

RobertG
* LO-Experte *
Beiträge: 2884
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Feld e_Datum mit aktuellen Datum belegen

Beitrag von RobertG » Mi 11. Dez 2013, 15:55

Hallo Eixen,

Du willst nicht das Erstellungsdatum sondern z.B. das letzte Änderungsdatum speichern? So etwas wirst Du nur über Makros regeln können, da der Defaultwert eben nur bei leeren Feldern geschrieben wird, die beim Erstellen eines Datensatzes übrig bleiben.

Code: Alles auswählen

SUB Datum_aktuell
	DIM oDoc AS OBJECT
	DIM oDrawpage AS OBJECT
	DIM oForm AS OBJECT
	DIM unoDate
	oDoc = thisComponent
	oDrawpage = oDoc.drawpage
	oForm = oDrawpage.forms.getByName("Formular") 
	oFeld=oForm.getByName("Datum") 	
	unoDate = createUnoStruct("com.sun.star.util.Date")
	unoDate.Year = Year(Date)
	unoDate.Month = Month(Date)
	unoDate.Day = Day(Date)
	oFeld.BoundField.updateDate(unoDate)
END SUB
Du musst für dieses Makro die Benennung von "Formular" und "Datum" an die Felder Deines Formulars anpassen. Wie die Felder heißen siehst Du im Formularnavigator. Jetzt kommt es nur darauf an, wann Du das Datum geändert haben möchtest. Ich nehme an, dass dies beim Speichern geschehen soll. Du bindest diesen Code an das Ereignis "Datensatzaktion" im Formular.

Gruß

Robert
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare

Eixen
Beiträge: 16
Registriert: Mi 11. Dez 2013, 14:06

Re: Feld e_Datum mit aktuellen Datum belegen

Beitrag von Eixen » Fr 13. Dez 2013, 11:47

Hi Robert, danke für den Tipp!
Leider funktioniert das Makro nur manchmal. Etwas eigenartig.

RobertG
* LO-Experte *
Beiträge: 2884
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Feld e_Datum mit aktuellen Datum belegen

Beitrag von RobertG » Sa 14. Dez 2013, 09:33

Hallo Eixen,

wenn das Makro manchmal aussetzt, dann ist die Eigenschaft, an die Du es bindest, vermutlich nicht die richtige. Da probiere ich dann auch manchmal aus, bis es wirklich klappt.
Der erste Weg ist natürlich, das über einen Button zu regeln. Wenn Du z.B. sowieso einen Button für das Abspeichern nutzen würdest, dann könntest Du das Makro direkt an die Eigenschaften des Buttons binden.

Gruß

Robert
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten