Einzelnen Beitrag anzeigen

jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#6

AW: Einträge nach Datum/Zeit in eine Tabelle schreiben

  Alt 18. Mai 2022, 19:34

Habt ihr eventuell eine Idee, wie das besser umgesetzt werden kann?

Am Ende benötige ich ja dennoch eine Referenz auf die Termine (Datum-Uhrzeit).
Ich habe es schon erwähnt, Termine die nirgendwo stehen, braucht man nicht zu verschieben.
Also wenn es sich um ein leeres Raster handelt.
Termine, die bereits vereinbart sind mit einer Gegenstelle, nennen wir sie echte Termine, sollte man vielleicht nicht ohne weiteres verschieben. Technisch wäre da irgenwas notwändig, wie es bspw. Outlook macht.

Lokal in der TerminDB Deiner Anwendung ist es m.E. nicht mehr als ein Update. Die meisten DB können ganz gut mit Datums / Zeitwerten rechnen, leider nicht ganz standardisiert. Also es geht, aber überall anders. Tageswechsel, Schaltjahr usw. wird alles berücksichtigt, egal ob + oder - 1h.
Hilfreich ist dabei, wenn die Datenhaltung in einer gemeinsamen Spalte Datum und Uhrzeit betrifft. Meist geht das seitens der DB bereits in einer Spalte vom Typ Date. Werden Datum und Zeit in getrennten Spalten gespeichert, muss man Überläufe bei der Zeit feststellen und den Tag nachziehen. Oder man rechnet davor beides zusammen, ändert den Wert gemäß Plan und teilt es wieder.

Was das Raster angeht (leere Termine):
Es besteht nur aus dem Plan, "multipliziert" mit den Vorschautagen. Dieses berechnete Raster kann aus einem View kommen, der keine gespeicherten Daten enthält. Erst wenn ein Slot aus dem Raster mit Ort, Teilnehmer, ... versehen wird, wird er wirklich in der TerminTabelle gespeichert. Und ersetzt in der Gesamtabfrage einen leeren Slot. Ob das in Summe einfacher zu handhaben ist, kann ich aus dem Stand nicht sagen, kommt mir aber so vor. Die leeren Slots sind eigentlich nur eine zunächst grafische Darstellung (eben ein Raster), das theoretisch beliebig per Klick geändert werden kann. Natürlich wird es beim Selektieren/Anlegen eines Termins übernommen.

Weiß nicht, ob das verständlich ist.
Ich habe das mal so ähnlich für Serientermine implementiert. Also nicht ein kompletes Tagesraster, sondern eben typische Wochen- oder monatliche Termine. Spätestens wenn der Anwender die Option "Laufzeit unbegrenzt" wählt, wird auch eine Motivation klar. Man erstellt nicht bis in alle Ewigkeit feste Termine als individuelle Datensätze.

Die Referenz eines echten Termins oder eines leeren Slots zeigt auf den Plan.
Wird der Plan geändert (neuer Plan), wird ab Inkrafttreten der neue Plan referenziert.

Ja, Sharkies Beitrag ist auch sowas.
Gruß, Jo
  Mit Zitat antworten Zitat