BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das OpenOffice Forum zu erhalten!

DANKE >><< DANKE

> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des OpenOffice Forums verwendet.
🤗 Als Dankeschön werden Sie im Forum als OO-SUPPORTER gekennzeichnet. 🤗

Timestamp erstellen, aber wie?

BASE ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit OpenOffice.org zu bearbeiten.
Antworten
Christl
Beiträge: 19
Registriert: Di 29. Jan 2013, 17:46

Timestamp erstellen, aber wie?

Beitrag von Christl » Mi 8. Mai 2013, 00:35

Hallo,

in meiner Datenbank werden die Sätze über ein Formular erfasst, dabei will ich auch das Erfassungsdatum festhalten.

Mit einer Schlatfläche im Formular wird ein Makro aufgerufen:

dErfdat = oform.gettimestamp (12)
dErfdat = now ()
oform.updatetimestamp (12,dErfdat)

In dErfdat steht das richtige Tagesdatum, aber der Befehl updatetimestamp bringt den Fehler Objektvariable nicht belegt!
updatedate übrigens auch.

In der Tabelle hat das Feld Erfdat den Feldtyp Timestamp

Wer kann mir helfen???

F3K Total
Beiträge: 1006
Registriert: Mo 1. Aug 2011, 00:03

Re: Timestamp erstellen, aber wie?

Beitrag von F3K Total » Mi 8. Mai 2013, 22:08

Hi,
wenn Du den Timestamp nur beim Erfassen eines neuen Datensatzes setzen willst, gibt es eine bessere Lösung:
Angenommen deine Tabelle heißt Tabelle1 und die Spalte, in der der Timestamp gesetzt werden soll, heißt Zeitstempel dann führe einmalig unter Extras/SQL ... diesen Befehl aus

Code: Alles auswählen

ALTER table "Tabelle1" alter column "Zeitstempel" set DEFAULT CURRENT_TIMESTAMP
Auf diese Weise wird immer beim Speichern eines neuen Datensatzes der aktuelle Systemtimestamp gesetzt.
Gruß R
Windows 10: AOO, LO Linux Mint: AOO, LO

Christl
Beiträge: 19
Registriert: Di 29. Jan 2013, 17:46

Re: Timestamp erstellen, aber wie?

Beitrag von Christl » Do 9. Mai 2013, 00:09

Danke R, das ist eine super Lösung! SQL-Befehle kannte ich schon, wusste aber nicht, dass sie immer ausgeführt werden, wenn die entsprechende Tabelle verwendet wird!

F3K Total
Beiträge: 1006
Registriert: Mo 1. Aug 2011, 00:03

Re: Timestamp erstellen, aber wie?

Beitrag von F3K Total » Do 9. Mai 2013, 08:19

Moin,
Christl hat geschrieben:... dass sie immer ausgeführt werden, wenn die entsprechende Tabelle verwendet wird!
Da hast Du vielleicht etwas falsch verstanden.
Über Extras/SQL ... kann man die SQL-Befehle direkt an die verwendete Datenbank absetzen, ohne das sie von BASE in irgendeiner Weise bemerkt/verändert werden.
Es ist z.B. möglich Base auch als Frontend für diverse andere Datenbanken, wie MySql, PostgresSQL, SQlite usw. zu verwenden, dann kann man die SQL-Befehle, die das jeweilige Backend verarbeiten kann, unter Extras/SQL ... abschicken.
Dieses Fenster Extras/SQL ... ist sehr mächtig!
Man kann hier quasi alles, was die Datenbank kann, absetzen:
Tabellen erzeugen, Ansichten erzeugen, Daten einfügen, löschen, Tabellen verändern->Spalten hinzufügen, Spalten löschen usw. usw.
Hier findest Du Informationen zu den Funktionen von HSQL
Ein Beispiel:
Mit HSQL kannst du mit diesem Befehl eine "neue leere" Tabelle Adressen erzeugen:

Code: Alles auswählen

CREATE TABLE "Adressen" ("ID" INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0) NOT NULL PRIMARY KEY,"Name" VARCHAR(50),"Vorname" VARCHAR(50),"Geburtsdatum" DATE,"Telefon" VARCHAR(15),"Email" VARCHAR(50),"Strasse" VARCHAR(50),"Ort" VARCHAR(50),"PLZ" VARCHAR(15))
Nach dem Ausführen des Befehles einmal auf Tabellen->Ansicht/Tabellen aktualisieren.

Gruß R
Windows 10: AOO, LO Linux Mint: AOO, LO

Christl
Beiträge: 19
Registriert: Di 29. Jan 2013, 17:46

Re: Timestamp erstellen, aber wie?

Beitrag von Christl » So 26. Apr 2020, 01:26

Habe in meiner Datenbank (Apache OpenOffice 4.1.7) unter Extra/Sql den Befehl, wie einst beschrieben, ALTER table "Table1" alter column "Feld1" set DEFAULT CURRENT_TIMESTAMPdurchgeführt.
Funktioniert, das Format ist DD.MM.JJ HH:MM . Ich hätte aber gerne das Format DD.MM.YYYY HH:MM:SS. Wie schaffe ich das?

F3K Total
Beiträge: 1006
Registriert: Mo 1. Aug 2011, 00:03

Re: Timestamp erstellen, aber wie?

Beitrag von F3K Total » So 26. Apr 2020, 09:13

Ein Bild ... öffnen die Tabelle im Bearbeitungsmodus ...
TS.png
TS.png (67.49 KiB) 6834 mal betrachtet
Gruß R
Windows 10: AOO, LO Linux Mint: AOO, LO

Christl
Beiträge: 19
Registriert: Di 29. Jan 2013, 17:46

Re: Timestamp erstellen, aber wie?

Beitrag von Christl » So 26. Apr 2020, 20:17

Danke, in der Tabelle ist nun mein gewünschtes Format. Aber im Formular wird immer noch tt.mm.jj ss:mm angezeigt! Wie kann ich die Anzeige im Formular ändern? In der Bearbeitungsansicht des Formulars habe ich für dieses Feld unter Eigenschaften nur Position und Größe!

F3K Total
Beiträge: 1006
Registriert: Mo 1. Aug 2011, 00:03

Re: Timestamp erstellen, aber wie?

Beitrag von F3K Total » Mo 27. Apr 2020, 19:09

Indem du die EIgenschaften des Kontrollfeldes änderst, Anleitungen gibt es ohne Ende, man muss nur mal suchen!
:roll: R

Vya
Beiträge: 1
Registriert: Di 12. Mai 2020, 14:19

Re: Timestamp erstellen, aber wie?

Beitrag von Vya » Mi 13. Mai 2020, 15:42

Hallo,
ich hoffe die Frage ist hier richtig.

Ich versuche gerade mir eine Kontaktdatenbank aufzubauen.
Dabei würde ich gern zwei Zeitstempel setzen:
- einen beim erstellen
- einen wenn man die Daten aktualisiert

Ist so eine Funktion machbar?

Bisher versuche ich das so:

Code: Alles auswählen

ALTER table "Contacts" alter column "DateCreated" set LOCALTIMESTAMP
ALTER table "Contacts" alter column "DateUpdated" set ON UPDATE LOCALTIMESTAMP  
Problem dabei ich das ich in Sachen Datenbanken ein kompletter Neuling bin.

Vielen Dank
Vya

PS: Aus irgendeinem Grund kann ich meine Eingaben in dem SQL-Fenster nicht sehen, ist das normal?

Antworten