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. #1
    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,
    J'ai une situation embarrassante en delphi7:
    C'est comment faire une comparaison sur deux champs qui ne se trouvent pas sur la même fiche(feuille) c'est_à_dire le champ Reste_à_payer Sinistre et le champ montant_payer qui est sur la fiche reglement, le champ Provision_Initiale qui est sur la fiche Sinistre et le champ Mont_payer qui est sur la fiche reglement.

    Explication: on doit faire de telle sorte que le montant à payer ne soit pas superieur à la provision_initiale et si tout n'est pas payer faire la difference entre le reste à payer et le montant payer pour la phase suivante.
    Celui ou celle qui à une idée sera la bienvenue.
    Merci par avance.
    Zizou7.

    NB:J'ai fait une requête me pertant d'afficher dès le choix de la refference de la fiche sinistre sur la fiche Reglement les élements suivants:
    Provision_Initiale,Montant_Payer et le Reste_A_payer.
    Mais je n'arrive pas à empêcher à l'utilisateur de payer un montant superieur au Reste_A_Payer et à la Provision_Initiale.
    Merci.

  2. #2
    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
    Tous les champs dont tu parles sont ils renseignés dans une même table.
    Pourrais donner un bout de ta requête ?

  3. #3
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    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 447
    Points : 24 849
    Points
    24 849
    Par défaut
    Vous connaissez la POO ?
    Modularité ? Ré-utilisabilité ?
    On n'utilise pas des données d'une Autre Fiche, c'est n'est qu'une vue qui affiche un objet (le DataSet par exemple), c'est l'objet qu'il faut échanger entre les vues ... le mieux étant d'avoir un objet métier qui s'occupe de tout le WorkFlow et de controler les valeurs saisies ...

    Delphi ne se limite à un IDE ou l'on y pose des Boutons et Edit !
    C'est aussi un langage objet sur lequel on peut appliquer des méthodes des développements comme les DesignPatterns !

    Une Bonne Architecture Objet résoud ce type de problématique (qui n'en est pas une pour un programmeur POO)
    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

  4. #4
    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
    J'ai compris ce que vous venez de dire, mais le problème est que j'utilise le Datasource et le TTable sur un DataModule. Donc toutes les fiches et leurs Datasource et TTable sont sur le même DataModule.

    Mais dès que j'essaye d'utiliser par exemple un code dans une propriété Beforepost d'un Datasource, ça ne marche pas.
    Je ne sais vraiment pas comment le faire.

    Aidez moi s'il vous plaît.
    Je vous remerci par avance.
    Zizou7.
    NB Si vous pouvez me donné un code exemple,me ferait plaisir.

  5. #5
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    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 447
    Points : 24 849
    Points
    24 849
    Par défaut
    C'est ce que je disais, le TDataModule est un piège monstreux, c'est typiquement ce que j'appelle le Clicodrome !

    le BeforePost c'est sur le DataSet !

    Pour le DataSource, il y a
    OnDataChange
    OnStateChange
    OnUpdateData

    Tu veux gérer le contrôle de tes valeurs lors du BeforePost, c'est une solution, du coup, l'évènement est global à toute l'application et il faut veiller que toutes les ressources nécessaires existent, donc ne pas dépendre de fenêtre mais que de composant présent dans le DataModule !

    ça ne marche pas.
    Quel est le problème, soit plus précis, ...

    Oublie les objets TForm dans ta problématique, seul les DataSet sont importants

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if TableSinistre.FieldByName('Reste_à_payer').AsFloat > TableSinistre.FieldByName('Provision_Initiale').AsFloat then
      Abort;
    ...
    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

  6. #6
    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 votre reponse.
    Mais le champ Provision_Initiale est sur une autre table(table tsinistre) et le champ Montant_Payer sur une autre(table tpayement).
    J'aimerais savoir s'il faut faire la comparaison sur le Datasource de la table payement?
    Ensuite le reste_A_Payer est un champ calculé donc c'est sur une requête que j'obtiens cela.
    Merci par avance.
    Zizou7.

  7. #7
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    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 447
    Points : 24 849
    Points
    24 849
    Par défaut
    je ne vois pas ce qui te pose problème, tu peux utiliser tout objet présent
    il faut penser à faire locate pour que le tpayement et tsinistre soit sur le même dossier client

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if tpayement.FieldByName('Reste_à_payer').AsFloat > tsinistre.FieldByName('Provision_Initiale').AsFloat then
      Abort;
    tu n'as pas de collègue qui peuvent te montrer cela ?
    si tu es débutant, tu devrais faire les tutoriels BDE proposé sur Dev.com

    Pour les champs calculés, est calculé par Delphi via un type Calculé ou est-ce par une formule SQL ?
    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

  8. #8
    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
    je vous remerci très bien sur ma prémière question ça marche très bien,je l'ai mis dans beforeInsert du datasource.

    Ce qui est le cas du Reste_A_Payer, je l'ai fait sous access mais elle est liée à un Datasource. J'ai essayé d'écrire ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    If base.tsinistre.FieldByName('provision_Initiale').Value<base.tpaiement.FieldByName('Montant').Value Then
    Abort
     else if base.tpaiement.FieldByName('Montant').Value>base.QReste.FieldByName('Reste_A_Payer').Value Then
     Abort;
    Mais il ne se passe rien.
    Je vous demande de savoir si c'est la méthode qu'il faut écrire ou autre?

    La prémière est ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     If base.tsinistre.FieldByName('provision_Initiale').Value<base.tpaiement.FieldByName('Montant').Value Then
    Abort
    Elle marche bien et je ne sais pas comment faire le cas de la requêtte?
    Merci par avance.
    Par Zizou7.

  9. #9
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    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 447
    Points : 24 849
    Points
    24 849
    Par défaut
    BeforeInsert j'insiste c'est un évènement du DataSet et non du DataSource !

    Tu ne confonds pas DataSource et DataSet ?
    Tu devrais lire l'aide du TTable et TQuery, etudier ces deux classes avant d'avancer plus, tu dois les maitriser parfaitement pour continuer un développement de base de données, tu as de la chance l'aide de D7 est l'une des meilleures ...

    Après BeforeInsert gère-t-il le Abort, en fait, ce n'est pas précisé dans l'Aide si tu veux empêcher l'écriture de données utilise plutôt BeforePost (cela protège ainsi le Insert\Append mais aussi le Edit)
    Je n'utilise plus cela depuis plus de 10 ans, je préfère avoir mes classes Business qui controle tout, surtout que je n'utilise plus les Tables, mais je fais tout par SQL et des Params (donc je n'ai plus de Insert\Post, je les utilises uniquement si le projet doit être fait comme ça, avec Apollo\DBase par exemple)


    base c'est ton datamodule ?
    si les objets sont contenus dedans, Self est implicite, tu n'es pas obligé de l'indiquer ...


    Pour le code qui ne fonctionne pas, le "else" est-il utile ? cela ne change pas grand chose (voire rien, c'est juste pour la signification)
    N'est-ce pas 2 conditions indépendantes ?

    Ensuite je ne connais pas l'état de tes objets, est-ce que tout est bien ouvert, positionné sur les bons enregistrements ... tu as bien fait un QReste.Open ?

    Evite Value qui utilise du Variant, préfère lui AsFloat ou AsInteger
    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

  10. #10
    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 vos remarques.
    Mais voici les problêmes dont j'ai :
    base est mon Datamodule,QReste est une requête parametrée qui m'affiche le Reste_A_Payer.
    Ensuite avec Beforeposte
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if base.tsinistre.FieldByName('Provision_Initiale').Asfloat<base.tpaiement.FieldByName('Montant').Asfloat Then
    Abort;
    ne marche pas car elle laisse passer le Montant dans le champ Montant même si le montant est superieur à la Provision_Initiale et je ne veux pas cela.
    Je veux que quand le montant est superieur à la Provision_Initiale l'écriture ne passe pas dans le champ Montant c'est_à_dire l'utilisateur ne soit pas capable de saisir un montant superieur à la Provision_Initaile et s'il ya reste, au payement suivant le Montant ne soit pas superieur au reste.
    Je vous remerci par avance.
    Par Zizou7.

  11. #11
    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
    Salut;

    pourquoi ne pas travailler avec des variables puis selon le traitement tu assignes les valeurs à tes champs. c'est plus pratique il me semble.
    Bon courage ou Bonne Chance (selon le contexte)
    Mon blog sur WordPress

  12. #12
    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
    Si tu veux rester dans ta même logique du beforePost
    il faut tester ceci : je ne sais quel composant tu utilises pour montant
    je l'appelerai edMontant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    if base.tsinistre.FieldByName('Provision_Initiale').Asfloat<strtofloat(edmontant.text) Then
    Abort;

  13. #13
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    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 447
    Points : 24 849
    Points
    24 849
    Par défaut
    Teach, surtout pas ce genre de chose, c'est un DataModule isolé de la fenêtre, c'est vilain, ... c'est contraire à toute bonne méthodologie de mélanger la vue et le modèle ...
    De plus si la fenêtre n'existe pas, c'est une autre fenêtre ou autre code et donc l'accès à un Control peut provoquer une violation d'accès ...

    Zizou7, essaye d'afficher 'Montant', est-ce que tu le modifie avant le Post au moins ?
    Tu as un calcul qui le modifie ou un Control qui le modifie sur la fenêtre
    Attention, les controles DB sont capricieux, il faut parfois sortir du champ pour qu'il valide la donnée dans le DataSet !
    un petit déboggage dans le BeforePost (j'insiste sur Post, sur Insert, cela ne servirait à rien) serait utile

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ShowMessage(base.tpaiement.FieldByName('Montant').AsString); 
    ShowMessage(base.tsinistre.FieldByName('Provision_Initiale').AsString);
    Sinon, tu es tout seul pour maintenir cette application, personne parmis tes collègues peuvent t'aider ?
    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

  14. #14
    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
    Les composants que j'utilise sont sur un Datamodul qui s'appelle base et les objets qui sont sur ce composant composant sont TTable et Datasource. C'est pas sur la fiche que j'ai mis ces composants donc ça ne peut pas fonctionner sous ce que tu viens de me donner. Il faut trouver autre méthodes.
    Merci par avance.
    Par Zizou7.

  15. #15
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    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 447
    Points : 24 849
    Points
    24 849
    Par défaut
    Zizou7, je suppose que tu réponds à teach ...

    Pour les Valeurs contenues ? tu as vérifié par les ShowMessage ?
    Tu as bien vérifiés si 'Montant' est modifié avant le Post ?
    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

  16. #16
    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
    La reponse que j'avais écrite était celle de Teach.

    Mais par rapport à celle que vous m'avez donné Mr ShaileTroll.
    Quelle serait l'importance de :
    Showmessage(base.tpaiement.Fieldbyname('Montant').Asstring);
    Showmessage(base.tsinistre.Fieldbyname('Provision_Initiale').Asstring);
    Si c'est pour leurs affichages? J'ai fait une requêtte qui m'affiche sur la table paiement le montan_payer, la Provision_Initiale et le reste_A_Payer si tout le montant n'est pas payer dès le prémier paiement.
    Mais le problème c'est empêché la saisie d'un montant dans la table paiement qui soit superieur à la Provision_Initiale de la table sinistre. Ensuite ne pas payer un montant superieur au Rest_A_payer si tout le montant n'est pas payer dès le prémier payement.
    Merci par avance.
    Par Zizou7.

  17. #17
    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
    le roblème est bien à ce niveau, je pense que montant n'est pas encore modifié dans le beforePost.

  18. #18
    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;

    pourquoi personne ne veut de ma proposition
    Bon courage ou Bonne Chance (selon le contexte)
    Mon blog sur WordPress

  19. #19
    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
    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.

  20. #20
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    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 447
    Points : 24 849
    Points
    24 849
    Par défaut
    Zizou7, moi je propose du DEBUG, pour voir en vrai ce que tu as dans les champs !
    Est-ce que les valeurs affichées par les ShowMessage sont bien celles qui sont attendues !
    Si un test ne fonctionne pas c'est que les valeurs testés ne sont pas les bonnes ...

    Et tes collègues qu'en pensent-ils ?

    Citation Envoyé par Teach
    le roblème est bien à ce niveau, je pense que montant n'est pas encore modifié dans le beforePost.
    Citation Envoyé par Zizou7
    : 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.
    C'est flou !
    Attention Teach ne demande pas si montant est modifié par le BeforePost mais si montant est modifié avant la méthode Post (entre le Insert\Edit et le
    Post)

    le Champ Montant sur la Fiche est un TDBEdit ou TEdit ?
    si DBEdit, il faut faire attention au Focus (il est parfois capricieux avec les champs masqués par exemple)
    si Edit, il faut faire une affection manuelle !

    Sinon, le plus simple, ça ne serait pas de faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    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();
    Just-Soft, avec des Composants DBEdit et DataSet, le passage des valeurs est implicite, repasser par variable serait tout aussi pénible que de travailler avec des Edit (simple) recopier à la main dans le DataSet, ... quoi que plus contrôlable, il est vrai ...
    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

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

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