Daten automatisch übernehmen wenn nichts eingetragen ist

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

TobiasVetter
Beiträge: 1
Registriert: Mi, 18.03.2015 14:42

Daten automatisch übernehmen wenn nichts eingetragen ist

Beitrag von TobiasVetter »

Hallo liebes Forum,
ich möchte Daten automatisch übernehmen, dies jedoch nicht in einer Abfrage sondern in meiner Tabelle.

In der Abfrage funktioniert es eigentlich schon, nur sollte der Wert dann auch in der Tabelle stehen.
Abfrage habe ich wie folgt gelöst:

Code: Alles auswählen

IFNULL( "Vorsorge Daten"."Vorname", "Vorsorge Vorname", "Vorsorge Daten"."Vorname" ) AS "Vorname"
Wenn ich jetzt in meiner Tabelle keinen "harten" Wert in Vorname eintrage, übernimmt er mir in der Abfrage den Wert aus "Vorsorge Vorname".
Wenn ich einen "harten" Wert eintrage übernimmt er jenen.

Jetzt habe ich ein Formular erstellt. In diesem Formular möchte ich meine Daten verwalten.
Wenn ich einen neuen Datensatz anlege und das Feld Vorname nicht beschreibe und danach den Datensatz speichere und aktualisiere funktioniert dies auch.
Sobald ich jedoch dann einen Wert in "Vorname" einschreibe taucht das Problem auf, denn es erstellt mir automatisch einen neuen Datensatz.

Schön wäre es wenn es nicht über die Abfrage geht sondern direkt in der Tabelle.
Denn sonst muss ich in jede Abfrage den selben Code schreiben.

Danke schon einmal für eure Hilfe.
Dateianhänge
Treuhand Vorsorge neu.odb
(15.46 KiB) 75-mal heruntergeladen
F3K Total
********
Beiträge: 3724
Registriert: Mo, 28.02.2011 17:49

Re: Daten automatisch übernehmen wenn nichts eingetragen ist

Beitrag von F3K Total »

Hallo,
deine Spaltenbenennungen,

Code: Alles auswählen

"Vorsorge Daten"."Vorname", "Vorsorge Vorname", "Vorsorge Daten"."Vorname"
sind verwirrend.
Ich habe so den Eindruck, auch nach lesen deiner Beiträge im anderen Forum, dass du damit selber durcheinander kommst?
Grundsätzlich macht man so etwas,"Daten automatisch übernehmen wenn nichts eingetragen ist" nicht, eine Kopie von Daten in einer Tabelle vergrößert den Speicherbedarf, die Fehlermöglichkeiten und bringt keine zusätzliche Information in die Datenbank.
Der Grundsatz lautet: Keine doppelten Daten in einer Datenbank!
Wenn du dauerhaft und effektiv mit der Datenbank arbeiten möchtest, musst du die erst einmal mehr Gedanken über die Struktur deiner Datenbank machen. Stichwort Normalisierung

Ausserdem für dich selbst:
Kannst Du bitte einmal genau beschreiben, was du eigentlich erreichen möchtest. Nicht mit hartem Vornamen und so weiter. Sondern wie der Ablauf der Erstellung eines solchen Vorsorgeantrages ist, wer beteiligt ist und welche Daten du dazu aufnehmen musst.
Gruß R
F3K Total
********
Beiträge: 3724
Registriert: Mo, 28.02.2011 17:49

Re: Daten automatisch übernehmen wenn nichts eingetragen ist

Beitrag von F3K Total »

Gast hat geschrieben:... sagt mir die Datenbank, dass ich keinen Wert verändert habe und ich somit nicht speichern kann.
Jo, das ist auch logisch, du versuchst in ein berechnetes Feld, resultiert aus der IFNULL - Geschichte, Daten einzutragen. Und das geht natürlich nicht.
Du brauchst eigene Eingabefelder für den alternativen Treuhänder. Wenn es keinen gibt, bleiben die Felder leer.
Ich habe mal gründlich in deiner Datei aufgeräumt:
  • unnötige Spalten (Alter/Vorsorgeempfänger/Abfrage ...) aus der Tabelle entfernt
  • die Spalten Name und Vorname zum besseren Verständnis in TH_Name und TH_Vorname (TH für Treuhänder) unbenannt.
  • Eine Spalte Vorname Vorsorge 2 zugefügt
  • Eine Spalte Antragsdatum zugefügt, wenn du beim Anlegen eines neuen Antrages kein Antragsdatum eingibst, wird beim Speichern automatisch das aktuelle Datum gesetzt.
  • die Abfrage überarbeitet, bitte ab sofort nur noch In SQL Ansicht bearbeiten ...
  • Im Formular eine Suchfunktion eingebaut. Du kannst nach Vorsorge Name oder TH_Name und nach Antragsnummer suchen, leerst Du die Suchfelder und klickst dann Suchen, werden wieder alle Datensätz gezeigt.
Viel Erfolg damit
Gruß R
Dateianhänge
Treuhand Vorsorge neu.odb
(16.49 KiB) 69-mal heruntergeladen
Antworten