IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bases de données Delphi Discussion :

Reflexion sur un code en delphi


Sujet :

Bases de données Delphi

  1. #21
    Membre émérite
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 401
    Points : 2 304
    Points
    2 304
    Par défaut
    Citation Envoyé par Zizou7 Voir le message
    Mr just-Soft: quelle est votre proposition qui a été reffusée?

    Mr teach: oui le montant à payer n'est pas modifier dans le BeforPost, mais mon problème c'est d'empêcher la validation de toute saisie (dont le montant est) superieur à la Provision_initiale et le reste à payer.
    Merci par avance.
    Zizou7.
    en plus mes posts sont invisibles !!!!
    Bon courage ou Bonne Chance (selon le contexte)
    Mon blog sur WordPress

  2. #22
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 459
    Points : 24 873
    Points
    24 873
    Par défaut
    Non, Just-Soft, il ne le sont pas mais, la preuve, moi j'avais vu ta réponse ... mais Zizou7 ne lit qu'a moitié les réponses qu'on lui apporte, on lui pose des questions, il n'y repond pas ...
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #23
    Membre du Club
    Inscrit en
    Janvier 2009
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 129
    Points : 52
    Points
    52
    Par défaut Reflexion sur un code en delphi
    Oui les champs qui sont sur la fiche payement sont des DBEdit.

    En plus le code que vous venez de me donner ne marche pas encore car j'ai fait le teste en prenant une valeur qui est superieur au reste à payer mais ça passe. Voici le code que vous m'avez donné:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     If (base.tpaiement.FieldByName('Montant').AsFloat<= base.tsinistre.FieldByName('provision_Initiale').AsFloat)and (base.tpaiement.FieldByName('Montant').AsFloat<=base.QReste.FieldByName('Reste_A_payer').AsFloat)then
        base.tpaiement.Post();
    Mais moi j'avais fait le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If strtofloat(fmpayement.DBEdit4.Text)<strtofloat(fmpayement.DBtext3.Datafield) then
       Showmessage('Ce montant est superieur au reste');
      DBEdit4.Clear;
    Avant que vous ne me donniez les votres.
    Mais il m'affichait le message suivant:
    Reste_A_Payer n'est pas une valeur flotante correcte.

    Avez vous d'autres suggestions autour de ces problèmes?
    Merci par avance.
    Zizou7.

  4. #24
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 135
    Points : 164
    Points
    164
    Par défaut
    Peut être je me trompe mais le message que je voulais faire passer est que s'il n'est pas modifié dans le beforePost alors nous nous pouvons pas utiliser:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    base.tpaiement.FieldByName('Montant').Asfloat
    car non défini encore mais peut être je me trompe

  5. #25
    Membre émérite
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 401
    Points : 2 304
    Points
    2 304
    Par défaut
    Re;

    d'après ton message d'erreur tu es dans l'une des deux cas de figure :
    1. soit ton champs n'est pas de type réel; mais je ne pense pas suite à toutes ces questions réponses
    2. soit tu as un problème avec le séparateur décimal qu'il faut vérifier depuis le panneau de configuration (si tu es sous windows) et le forcé par programmation si besoin est.


    espérant que cette fois-ci je serais visible et lu
    Bon courage ou Bonne Chance (selon le contexte)
    Mon blog sur WordPress

  6. #26
    Membre émérite
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 401
    Points : 2 304
    Points
    2 304
    Par défaut
    Citation Envoyé par teach Voir le message
    Peut être je me trompe mais le message que je voulais faire passer est que s'il n'est pas modifié dans le beforePost alors nous nous pouvons pas utiliser:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    base.tpaiement.FieldByName('Montant').Asfloat
    car non défini encore mais peut être je me trompe
    mais c'est pour cette raison que ShaiLeTroll a insisté sur l'affichage des données avec le showmessage. apparemment, c'est confirmer les réponses ne sont pas toutes lues
    Bon courage ou Bonne Chance (selon le contexte)
    Mon blog sur WordPress

  7. #27
    Membre du Club
    Inscrit en
    Janvier 2009
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 129
    Points : 52
    Points
    52
    Par défaut Reflexion sur un code en delphi
    Comment le Reste_A_Payer est obtenu?

    J'ai fait une requête sous access dans laquelle j'ai fait la difference entre la Provision_Initiale et la somme totale des montants payés par reference c'est_à_dire par sinistre. Et sous delpi, j'ai fait une requête parametrée qui me permettant d'afficher par reference le Reste_A_Payer. Mais c'est sur cette requête que je voudrais faire le contrôle avec le champ Montant à payer. Aussi contrôler ce même montant à la provision_Initiale.
    Si le Montant à payer est superieur à la Provision_initiale ou au reste à payer alors refus de payement sinon payer.
    Merci par avance.
    Zizou7.

  8. #28
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 135
    Points : 164
    Points
    164
    Par défaut
    tu ajoute à ta requete une clause where ou and
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Where Montant_initial>:montant
    and  Reste_apayer>=:montant
    :montant est un pararametre (vérifier syntaxe parametre dans access)

    j'appelle ta requete: query

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    query.parambyname('montant').asfloat=valeur du montant
    query.open
    tester si ta requete renvoie des resultats avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    soit avec 
     
    if not query.eof then 
     
    ou avec 
     
    if query.recorcount>0 then
    alors accepter payement sinon refus payement

  9. #29
    Membre du Club
    Inscrit en
    Janvier 2009
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 129
    Points : 52
    Points
    52
    Par défaut Reflexion sur un code en delphi
    Voici le code que j'ai écrit et il marche pour le reste à payer mais pas pour une provision qui n'est pas payer au moins une fois:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    If (strtofloat(fmpayement.DBEdit4.Text)<=base.tsinistre.FieldByName('Provision_initiale').AsFloat)and(strtofloat(fmpayement.DBEdit4.Text)<=base.QReste.FieldByName('Reste_A_Payer').AsFloat)then
         base.tpaiement.Post
         else if  (strtofloat(fmpayement.DBEdit4.Text)>base.tsinistre.FieldByName('Provision_initiale').AsFloat)and (strtofloat(fmpayement.DBEdit4.Text)>base.QReste.FieldByName('Reste_A_Payer').AsFloat)then
           begin
              base.tpaiement.Cancel;
            end;
    Merci par avance.
    Par Zizou7.

  10. #30
    Membre du Club
    Inscrit en
    Janvier 2009
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 129
    Points : 52
    Points
    52
    Par défaut Reflexion sur un code en delphi
    Voici encore le code que j'ai écrit pour le contrôle du montant payé et de la provision.Si le montant payé est inferieur à la provision ça passe sinon refus.
    voici le code en question:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     If base.tpaiement.FieldByName('Montant').AsFloat<=base.tsinistre.FieldByName('Provision_Initiale').AsFloat then
          base.tpaiement.Post
         else If base.tpaiement.FieldByName('Montant').AsFloat>base.tsinistre.FieldByName('Provision_Initiale').AsFloat then
        begin
         Showmessage('Ce montant est superieur à la provision');
         DBEdit4.Clear;
         DBEdit4.SetFocus;
         end
    Mais j'ai ajouté le calcul du reste à payer c'est encore qui ne se fait pas.
    Voici le code entier:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
       If base.tpaiement.FieldByName('Montant').AsFloat<=base.tsinistre.FieldByName('Provision_Initiale').AsFloat then
          base.tpaiement.Post
         else If base.tpaiement.FieldByName('Montant').AsFloat>base.tsinistre.FieldByName('Provision_Initiale').AsFloat then
        begin
         Showmessage('Ce montant est superieur à la provision');
         DBEdit4.Clear;
         DBEdit4.SetFocus;
         end
         else if(strtofloat(fmpayement.DBEdit4.Text)>base.QReste.FieldByName('Reste_A_Payer').AsFloat)then
                 begin
                 DBEdit4.Clear;
                 DBEdit4.SetFocus;
             end;
    Quelqu'un a t il une idée pour me donner sur la partie? ou modification?
    Si oui laquelle? si non laquelle?
    je vous remerci par avance.
    Zizou7.

  11. #31
    Membre du Club
    Inscrit en
    Janvier 2009
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 129
    Points : 52
    Points
    52
    Par défaut Reflexion sur un code en delphi
    Merci pour tous ceux qui ont participé à la résolution de mon problème.
    j'ai eu à resoudre seul et je reste reconnaissant à vous tous.
    Merci par avance.
    Zizou7.

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Aide sur les templates de codes de Delphi 2006
    Par vanquish dans le forum Delphi
    Réponses: 1
    Dernier message: 23/06/2006, 16h22
  2. help sur le code d'une procedures stockee
    Par omlip dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 25/08/2004, 18h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo