Comptabilité

Résolu
ogre31 Messages postés 3 Date d'inscription mercredi 30 mars 2011 Statut Membre Dernière intervention 17 mai 2012 - 6 mai 2012 à 15:16
cs_walidlam Messages postés 107 Date d'inscription lundi 30 mai 2011 Statut Membre Dernière intervention 29 avril 2013 - 13 mai 2012 à 13:33
bonjour,
j'aurais besoin d'un coup de main ou plutôt de pieds.

j'ai une table (Paradox) avec les champs "libelle", "débit" et "crédit" qui s'affiche dans 1 DBGRID.
le champ 'libelle' ne doit pas être vide et au moins 1 des 2 champs 'débit' ou 'crédit' soit <> 0 pour pouvoir ajouter un

autre enregistrement.
le passage d'un champ à un autre doit se faire par l’événement "keydown" du DBGRID avec "VK_Return" a partir du champ "Crédit".

pour essayer d'illustrer

1 - on ne peut passer au champ débit que si le champ libelle n'est pas vide.
2 - on saisit un montant dans le champ "débit", et return pour passer au champ "crédit"
3 - le champ crédit peut être atteint même si le champ débit est vide.
4 - si on saisit un montant dans le champ "crédit"(valeur<>0) faut que le champs débit soit remis a "zéro" ou "null" puis Return pour ajouter un nouvel enregistrement avec le focus dans la colonne "libellé" dans le DBGRID.

merci a tous.

3 réponses

cs_walidlam Messages postés 107 Date d'inscription lundi 30 mai 2011 Statut Membre Dernière intervention 29 avril 2013 1
6 mai 2012 à 19:36
bonsoir
j ai pas bien copmris ;la saisie se fait dans dbgrid???
utiliser l evenement de la table (BeforePost,NewRecord...) + les structures alternatives (if ...then) ou bie (case..of)
exemple :
procedure TDM.TmengBeforePost(DataSet: TDataSet);
begin
if tablelibelle.text='' then begin
Raise Exception.Create('Vuillez Saisir tous Les Champs SVP...');
table.cancel end; end;
merci..
3
ogre31 Messages postés 3 Date d'inscription mercredi 30 mars 2011 Statut Membre Dernière intervention 17 mai 2012
13 mai 2012 à 12:33
bonjour et merci pour l’intérêt que vous avez porté a ma question.
la saisie effectivement se fait dans un DBGRID.
la solution que je cherche marche tres bien en utilisant les keyleft et keyright du pavé numerique, tout les controles( dans le sens verfication de la saisie) sont parfaits.
je souhaite utiliser la touche "return" pour aboutir au meme resultat.
Je rame pendant plusieurs jours.
Peut etre serait plus explicite si je mettais le code de mon approche.

merci a tous
0
cs_walidlam Messages postés 107 Date d'inscription lundi 30 mai 2011 Statut Membre Dernière intervention 29 avril 2013 1
13 mai 2012 à 13:33
salut
c'est gentil de votre part.
0
Rejoignez-nous