Probeleme de date

hawa27 Messages postés 12 Date d'inscription mercredi 31 janvier 2007 Statut Membre Dernière intervention 18 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 +

7 réponses

hawa27 Messages postés 12 Date d'inscription mercredi 31 janvier 2007 Statut Membre Dernière intervention 18 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
.
0
Utilisateur anonyme
20 févr. 2007 à 11:54
Salut,

En théorie les filtres sont très puissants.

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
0
Utilisateur anonyme
20 févr. 2007 à 12:13
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;
0
hawa27 Messages postés 12 Date d'inscription mercredi 31 janvier 2007 Statut Membre Dernière intervention 18 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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
hawa27 Messages postés 12 Date d'inscription mercredi 31 janvier 2007 Statut Membre Dernière intervention 18 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
0
Utilisateur anonyme
20 févr. 2007 à 21:12
Salut Hawa

Quelques remarques:

*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).

En guise d'exemple (Suivant : http://lberne.developpez.com/delpdox/delphibdd/)

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 ;).
0
Utilisateur anonyme
20 févr. 2007 à 21:14
Oupss pour les DBEdit : j'avais mal lu ;)
0
Rejoignez-nous