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 :

Afficher sur un edit


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 Afficher sur un edit
    J'ai un probème sur l'affichage.
    J'ai un formulaire de saisie des données de la table payement, sur lequel il y avait les DBEdit. Sur le même formulaire il y a un champ reference à côté de ce champ il y a un bouton qui me permet de faire la recherche sur un autre formulaire qui s'appelle recherche.
    Sur le formulaire de recherche, il y a un bouton OK derrière lequel j'ai écrit le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    refsinistre:=base.tsinistre.FieldByName('Ref_Sinistre').Value;
    fmpayement.Editrefsinistre.Text:=refsinistre;
    Close;
    Qui me permetra d'afficher la reference sur le formulaire payement.
    Mais quand je clic sur OK il ne le fait pas. Car sur le formulaire payement ce sont les edit et non plus les DBEdit.
    Je ne sais plus qu'est ce qu'il faut écrire maintenant. Aidez moi s'il vous plaît.
    Par Zizou7.

    NB: Quand c'étaient les DBEdit, ça marchais, mais avec les Edit il ne le fait pas mais comme je veux faire des contrôles raison pour laquelle j'ai choisit les edits.
    Execusez moi des fautes. J'ai remplacé les DBEdit par les Edit pour faire les contrôles.

  2. #2
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 674
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 674
    Points : 5 259
    Points
    5 259
    Par défaut
    Citation Envoyé par Zizou7 Voir le message
    Execusez moi des fautes. J'ai remplacé les DBEdit par les Edit pour faire les contrôles.
    Le TDBEdit et le TEdit heritent tous les deux de TCustomEdit. Tout ce que tu peux faire avec un TEdit, tu peux également le faire un TDBEdit !

    Quels genre de contrôle ne peux-tu pas faire avec un TDBEdit ?

  3. #3
    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 Afficher sur un Tedit
    Merci Mr Popo de votre question.
    Voici comment je veux faire le contrôle:
    Je veux au moment de l'affichage de la reference sur la fiche, il me permet de faire la somme totale par reference et la difference de cette somme par la provision initiale qui est donnée par avance puis m'affiche le reste sur un label dont j'ai nommé Labelresteapayer.
    Voici le code dont j'ai écrit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    procedure Tfmpayement.EditrefsinistreChange(Sender: TObject);
    var MontPaye,P,ResteApayer:Double;
    begin 
    base.tpaiement.Filtered:=False;
    base.tpaiement.Filter:='Ref_Sinistre='''+Editrefsinistre.Text+'*''';
    base.tpaiement.Filtered:=True;
    While not(base.tpaiement.Eof)do
      MontPaye:=MontPaye+base.tpaiement.FieldByName('Montant').Value;
      P:=base.tpaiement.FieldByName('Provision_Initiale').Value;
      ResteApayer:=P-MontPaye;
       if(ResteApayer=0)Then
         Showmessage('Ce sinistre est soldé');
      //Si sinistre non soldé alors affiché le reste à payer
      Labelresteapayer.Caption:=floattostr(ResteApayer);
      end;
    procedure Tfmpayement.EditMontantChange(Sender: TObject);
    begin
    if(strtoint(EditMontant.Text)>(strtofloat(Labelresteapayer.Caption)))Then
      Showmessage('Impossible de payer un montant superieur au reste à payer');
    end;
    Donc aidez moi à touver une idée qui peut me permetre de faire ce contrôle.
    Merci par avance.
    Dans l'attente d'une suite favorable.
    Execusez moi des fautes grammaticales et orthographiques.
    Par Zizou7.

  4. #4
    Membre habitué Avatar de host22
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    222
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations forums :
    Inscription : Mars 2007
    Messages : 222
    Points : 183
    Points
    183
    Par défaut
    Citation Envoyé par popo Voir le message
    Le TDBEdit et le TEdit heritent tous les deux de TCustomEdit. Tout ce que tu peux faire avec un TEdit, tu peux également le faire un TDBEdit !

    Quels genre de contrôle ne peux-tu pas faire avec un TDBEdit ?
    Popo a raison!!
    je croit qu'il faut simplement faire une affectation mais n'oubli pas la conversion pour pouvoir l'afficher en edit.text
    Un homme savant a compris un certain nombre de vérités, un homme cultivé a compris un certain nombre d'erreurs.

  5. #5
    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 Afficher sur un Tedit
    J'ai compris votre reponse mais quand j'ai écrit la procedure suivante derrière le bouton Ok de la fiche recherche, si je clique sur le bouton Ok il n'execute pas mais le pointeur de la souris se transforme en sablier le message suivant SQL sous forme de bulle s'affiche au dessous de la souris.
    Je n'ai pas à transformer une valeur car tout est en chaîne de caractère(ou text). La Reference et Editrefsinistre.Text sont tous de type Chaîne de caractère. Ensuite fmpayement est le nom de la forme ou fiche sur laquelle doit s'afficher le resultat de la recherche de la reference. Mon problème est pourquoi le resultat refuse de s'afficher sur le champ Editrefsinistre.Text de la fiche ou forme fmpayement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    refsinistre:=base.tsinistre.FieldByName('Ref_Sinistre').Value;
    fmpayement.Editrefsinistre.Text:=refsinistre ;
    Close;
    .
    Celui ou celle qui à une proposition soit la bienvenue.
    Merci par Zizou7.

  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
    Voici comment j'ai pensé faire et le resultat n'est pas satisfaisant,donc celui ou celle qui a une reponse à cette situation soit la bienvenue:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    procedure Tfrecherche.btokClick(Sender: TObject);
    var MontPaye,P,ResteApayer:Double; refsin:string[15];
    begin //base.tpaiement.FieldByName()
    MontPaye:=0;
    with lagrille.SelectedField do
    refsin:=base.tsinistre.FieldByName('Ref_Sinistre').AsString;
    //
    While not(base.tpaiement.Eof)do
    begin
      base.tpaiement.Filtered:=False;
      base.tpaiement.Filter:='Ref_Sinistre='''+refsin+'''';
      base.tpaiement.Filtered:=True;
      MontPaye:=MontPaye+base.tpaiement.FieldByName('Montant').Value;
      P:=base.tsinistre.FieldByName('Provision_Initiale').Value;
       ResteApayer:=P-MontPaye;
       end;
       if(ResteApayer=0)Then
         begin
         Showmessage('Ce sinistre est soldé');
          fmpayement.Editrefsinistre.Text:='';
          frecherche.Close;
     
      //Si sinistre non soldé alors affiché le reste à payer
         end
       else if (ResteApayer<>0)then
       fmpayement.Labelresteapayer.Caption:=floattostr(ResteApayer);
     
      fmpayement.Editrefsinistre.Text:=base.tsinistre.FieldByName('Ref_Sinistre').AsString;
      frecherche.Close;
         end;
    Mais ça n'affiche pas sur la fiche payement le resultat et ne fait pas le cumule par des montants par reference sinistre.
    Aidez moi s'il vous plaît.
    Par Zizou7.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Afficher du texte ou un variable sur une edit text
    Par badie0555 dans le forum MATLAB
    Réponses: 2
    Dernier message: 28/05/2015, 17h26
  2. [Info][débutant] choix type video à afficher sur le web
    Par oumani dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 08/02/2006, 10h31
  3. [XSL-FO] Afficher sur la dernière page seulement !!
    Par Rumeurs dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 31/01/2006, 21h05
  4. Réponses: 3
    Dernier message: 07/01/2006, 22h17
  5. Bip non sollicité sur les Edit
    Par David dans le forum Composants VCL
    Réponses: 2
    Dernier message: 09/09/2003, 20h32

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