Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Datenbank soll beim Start geprüft werden ob ein Datum abläuft (https://www.delphipraxis.net/184446-datenbank-soll-beim-start-geprueft-werden-ob-ein-datum-ablaeuft.html)

calikey 27. Mär 2015 10:03

Datenbank: clientdataset1 • Version: ? • Zugriff über: xml

Datenbank soll beim Start geprüft werden ob ein Datum abläuft
 
Und meine letzte aufgabe für mein programm.
Plan
Programm wird gestartet und es soll geprüft werden ob ein Datum abläuft und in 2 schritten warnen.

Meine Vorraussetzungen:
Emparcado rad studio xe7 trail
Kaum Delphi wissen bzw Programierkenntnisse
Ergeiz
Ist mein erstes Programm.

Aufgaben Plan:
1. beim start soll das aktuelle datum und das in einem vorgegeben Tedit (Ausstrittsdatum)für jeden datensatz verglichen werden. Aber nur wenn das arbeitsverhältniss auf befristet steht.
2. Wenn nur noch 30 Tage bis Ausstrittstermin sind soll sich ein Fenster öffnen in dem steht welcher vertrag abläuft, also vor und nachname der person in diesem datensatz und gegebenfalls gleich dort hin springen.
3. im grunde das selbe nur noch einmal mit 14 tage vorher.

zu 1
Wäre es besser das über einen butten quasi manuel zu suchen oder doch lieber automatisch bei programm start. und wie wirkt sich das aus wenn es mehrere datensätze sind die auslaufen? ich würde denken das es einen if funktion wäre also wenn indem arbeitsverhältnis befristet steht dann checke feld ausstrittsdatum. wenn austrittsdatum kleiner 30 tage dann show message. aber wie drücke ich das als quellcode aus?
zu 2
wie wäre dann die Verbindung also quellcode für denn namen und vorname und dann das man vielleicht zu diesem Datensatz springen kann, wenn man will als quasi noch gefragt wird ob man denn anzeigen will oder nicht.

Bin leider noch blutiger anfänger und kann mir deshalb noch nicht soviel herleiten
Danke aber im vorfeld allen die mir helfen.

p80286 27. Mär 2015 10:26

AW: Datenbank soll beim Start geprüft werden ob ein Datum abläuft
 
(Wenn ich jetzt mit dem Clientdataset etwas anfangen könnte)

Also wenn Du eine "richtige" Datenbank zur Verfügung hättest, dann wären das zwei Abfragen, die ungefähr so aussehen:

SQL-Code:
select Personendaten
from Welche_Tabellen_auch_immer
where datediff(sysdate,Austrittsdatum)<=31
  and datediff(sysdate,Austrittsdatum)>14
  and vertrag=befristet

select Personendaten
from Welche_Tabellen_auch_immer
where datediff(sysdate,Austrittsdatum)<=15
  and vertrag=befristet
oder gleich alles in eine Abfrage und im Ergebnis den Abstand bis zum Austrittsdaum mitgeben

SQL-Code:
select Personendaten,datediff(sysdate,Austrittsdatum)
from Welche_Tabellen_auch_immer
where datediff(sysdate,Austrittsdatum)<=31
  and vertrag=befristet
Zitat:

Wäre es besser das über einen butten quasi manuel zu suchen oder doch lieber automatisch bei programm start. und wie wirkt sich das aus wenn es mehrere datensätze sind die auslaufen? ich
Zum einem mußt Du schon wissen wie Dein Program funktionieren soll, zum anderen, wenn es mehrere Datensätze im Ergebnis gibt, dann benutzt man ein Array oder eine liste um mit diesen Daten umzugehen.

(eine Bemerkung am Rande: die Datensätze laufen nicht aus sondern die Arbeitsverträge enden/laufen aus. Es könnte Dich in Teufels Küche bringen wenn Du Datensätze löschst, nur weil der Arbeitsvertrag endete)


Gruß
K-H

calikey 27. Mär 2015 11:37

AW: Datenbank soll beim Start geprüft werden ob ein Datum abläuft
 
Ah ok hab verstand die clientdataset1 ist eine MyBase Datenbank glaube ich. die Datenbank wird als xml gespeichert.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:31 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz