hawa27
Messages postés12Date d'inscriptionmercredi 31 janvier 2007StatutMembreDernière intervention18 mai 2007
-
18 févr. 2007 à 20:06
Utilisateur anonyme -
20 févr. 2007 à 21:14
salut a tous;
j'ai une base de donnée qui contient 2 champs date debut et date fin, j'ai utiliser des dbedit sur ma fiche, je veux saisir des donnée a partir de la fiche , tout marche sauf que je ne sais pas comment faire pour indiquer que la date fin doit superieur ou egale a la date debut.et je veux meme si par erreur de saisie un showmessage s'affiche pour indiquer ceci a l'utilisateur.
merci bien
a +
hawa27
Messages postés12Date d'inscriptionmercredi 31 janvier 2007StatutMembreDernière intervention18 mai 2007 19 févr. 2007 à 19:51
salut
merci Francky, mais sachant que je suis debutante digne du mot.
de plus en recherchant on trouves pas tous .
en ce qui concerne le site que tu m'as donné je les ai deja consulté , mais je voulais pas utilisé sql je voulais savoir s'il existe une methode plus simple.
mes bdd sont de type paradox
.
Quelque chose de beaucoup plus simple mais qui ne vas peut etre pas répondre à ta demande (manque d'informations pour mieux coller).
Sur une Form, un bouton et 2 TEdit
procedure TForm1.Button1Click(Sender: TObject);
Var
D1,D2:TDate;
begin
D1:=StrToDate(edit1.Text);
D2:=StrToDate(edit2.Text);
If D2>D1 then showmessage('OK') Else
showmessage('PAS OK');
end;
Ps : petit conseil au passage, les applications BDD c'est un peu corsé quand on débute. Faut mieux commencer par les bases
Ah oui aussi plutot que d'utiliser des Edit utilise des TDateTimePicker dans l'onglet Win32 : ca t'évitera les beugs suite à des mauvaises saisies.
Dans ce cas la, on a
procedure TForm1.Button1Click(Sender: TObject);
begin
If DateTimePicker2.Date>DateTimePicker1.Date then showmessage('OK') Else
showmessage('PAS OK');
end;
hawa27
Messages postés12Date d'inscriptionmercredi 31 janvier 2007StatutMembreDernière intervention18 mai 2007 20 févr. 2007 à 19:17
salut,
j'avais signalé que j'utilise des dbedit donc avec aussi dbnavigator pour facilier l'ajout d'enregistrement , je ne sais donc si cette methode de dateTimePicker est correct et aura un lien avec ce que j'ai fais.ou alors je serai obligé de refaire encore des programmes d'ajout, modification , suppression
je vais essayé comme meme.
merci Francky
Vous n’avez pas trouvé la réponse que vous recherchez ?
hawa27
Messages postés12Date d'inscriptionmercredi 31 janvier 2007StatutMembreDernière intervention18 mai 2007 20 févr. 2007 à 19:19
je voulais en faite une fois que je saiai mes données , et je veux validé par le bien du dbnavigator j'obtiens un message d'erreur su la date , si biensur la 2eme date et inferieur a la 1ere
*Si tu utilises un TDBNavigator, autant utiliser les autres composants de l'onglet Data Controls dont des DBEdit à la place des Edit.
*Tu veux comparer deux dates : cela induit du code et des modifications: tu n'as pas le choix. Enfin si tu en as 2
-Des Edit ou DBEdit :
°Vérifier que tu as bien un format du string saisit qui soit : jours/mois/année (Sinon beug assuré)
°Comparaison des dates
-DateTimePicker:
°Comparaison des dates
En utilisant un DateTimePicker, plus de vérification de saisie. Donc du code en moins. Autre point positif : le code de comparaison est plus simple (Compare les deux codes précédents).
procedure TForm1.Button1Click(Sender: TObject);
begin
If DateTimePicker2.Date>DateTimePicker1.Date then
With Table Do
Begin
Edit;
FieldByName('Date debut').Value:=DateTimePicker1.Date;
FieldByName('Date fin').Value:=DateTimePicker2.Date;
//ect ect
Post;
End
Else
Showmessage('Erreur de saisie dans les dates: enregistrement refusé');
End;
----------------------------------------
Pour modifier un enregistrement c'es exactement le meme principe.
Pour le reste, tu n'as rien d'autres à modifier : en effet la navigation dans la table, la suppression d'un enregistrement ect ect ne font pas intervenir la comparaison des deux dates dans la mesure ou il ne s'agit pas d'un enregistrement.
PS : Le DBNavigator s'est pratique mais c'est pas tres beau ;).