Feldinhalt vordefinieren

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

Earl
**
Beiträge: 34
Registriert: Di, 19.06.2012 13:33

Feldinhalt vordefinieren

Beitrag von Earl »

Hallo,
Wie kann ich einen Feldinhalt in einem Formular vordefinieren?

Formularname: F_Eingabe
Im Feld DATUM soll das aktuelle Datum rein, im Feld ZEITEINHEIT soll z.B. "1M" rein. etc.

Ich habe das vor längerer Zeit schon mal über einen direkten SQL-Befehl gemach.
Hab aber vergessen, wie ich das gemacht habe. (Blöd, aber is halt so)
Das lief über EXTRAS ---> SQL ----> entsprechender Befehl.

Dieser Befehl wird nun ständig ausgeführt. d.h. doch, dass er irgendwo hinterlegt sein muß.
Wenn ich wüsste, wo das ist, könnte ich dort nachsehen.
Der Befehl soll künftig nicht mehr ausgeführt bzw geändert werden.

Wo steckt der????? oder Wie lautet ein entsprechender Befehl? oder gibt's da noch eine andere Lösung?
Wie ihr seht, hab ich von SQL leider noch keine richtige Vorstellung.

Gruß
Euer Earl
RobertG
********
Beiträge: 2033
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: Feldinhalt vordefinieren

Beitrag von RobertG »

Hallo Earl,

das ist das Problem, was viele mit dem angeblichen "Default"-Wert haben, der in der TabellenGUI und in Formularen als Vorschlagswert angegeben wird. Der eigentliche Default-Wert der Datenbank kann nur über SQL eingegeben werden:

Code: Alles auswählen

ALTER TABLE "Tabelle" ALTER COLUMN "Datum" SET DEFAULT TODAY;
Mit

Code: Alles auswählen

ALTER TABLE "Tabelle" ALTER COLUMN "Datum" SET DEFAULT NULL;
wirst Du das wieder los.
Mit SQL schreibst Du bei einem leeren Feld nichts in die Datenbank. Das Feld wird beim Insert nicht berücksichtigt. Dann wird der Default-Wert der Datenbank gezogen, eben z.B. der aktuelle Tag, die Speicherzeit usw.

Willst Du das aktuelle Datum vorher in einem Feld sehen, so geht dies nicht mit SQL. Du musst irgendwoher das aktuelle Datum bekommen. Als Standardwert ist das nicht lieferbar. Ich habe so etwas sowohl über eine Abfrage als auch über Makros schon erstellt. Über eine Abfrage kannst Du mit

Code: Alles auswählen

SELECT DISTINCT CURDATE() AS "aktuelles_Datum" FROM "Tabelle"
das aktuelle Datum ermitteln.
Details zu diesem Problem findest Du in den Beschreibungen zu Base-Beispielen, die neben dem Handbuch verfügbar sind. Dort ist ein ganzes Kapitel zu "Aktuelle Standardwerte für Datum und Zeit setzen" enthalten.

Gruß

Robert
Antworten