Bienvenue sur les forums conseil & création · S'enregistrer

Se connecter automatiquement

Forums » Programmation » delphi programation pour les base de données · Envoyer le lien

Par ayache, le 16 Mar 2005, 09:23 Revenir en haut de page Répondre en citant

Ce code source est pour valider l’ajout d’un enregistrement de la table employé ce code ne marche pas correct s.v.p aidé moi pour corrige ce code

Citation:
procedure TFormemploye.SpeedButton1Click(Sender: TObject);
var result:boolean;
result1:string;
begin
result1:=DBEdit1.Field.Value;
result:=false;
if MessageDlg('Êtes vous sûre de vouloir enregistrer ce bordereau'+ chr(10)+chr(13)+'ansi que les pièces de ce bordereau', mtconfirmation, [mbyes,mbno], 0) = mryes then
begin
//*********************
//Table1.First;
while (Table1.Eof) and ( result=false) do
begin
if Table1.FieldValues['mat_bin']=DBEdit1.Field.Value then
begin
result :=true ;
break
end
else
begin
Table1.Next;
end;
end; // fin tq
//********************
if result=true then
MessageDlg('ce bordereau exist déjà',mtInformation, [mbOk],0)
else
begin
Table1.Edit;
Table1.post;

end;
end;

end;
Par Cédric, le 16 Mar 2005, 10:24 Revenir en haut de page Répondre en citant

Salut,

Tiens une question su Delphi ça faisait longtemps Smile

Quel est le problème au juste... quel est le message d'erreur ? J'ai jeté un oeil rapidement avant d'avoir l'erreur mais tu n'aurais pas mail placé l'un des end; ? Essais avec ça :

Code:
procedure TFormemploye.SpeedButton1Click(Sender: TObject);
var result : boolean; result1 : string;
begin
result1 := DBEdit1.Field.Value;
result := false;

if MessageDlg('Êtes vous sûre de vouloir enregistrer ce bordereau'+ chr(10)+chr(13)+'ansi que les pièces de ce bordereau', mtconfirmation, [mbyes,mbno], 0) = mryes then begin
  while (Table1.Eof) and ( result=false) do begin
    if Table1.FieldValues['mat_bin']=DBEdit1.Field.Value then begin
      result := true ; break
    end else begin
      Table1.Next;
    end;
  end;
end;

if result=true then
  MessageDlg('ce bordereau exist déjà',mtInformation, [mbOk],0)
else begin
  Table1.Edit;
  Table1.post;
end;

end;
Par Cédric, le 24 Mar 2005, 04:10 Revenir en haut de page Répondre en citant

Alors ça dit quoi ?
Par Leo, le 24 Mai 2005, 18:25 Revenir en haut de page Répondre en citant

salut,

Citation:
Code:
begin
result1 := DBEdit1.Field.Value;
result := false;

if MessageDlg('Êtes vous sûre de vouloir enregistrer ce bordereau'+ chr(10)+chr(13)+'ansi que les pièces de ce bordereau', mtconfirmation, [mbyes,mbno], 0) = mryes then begin
  while (Table1.Eof) and ( result=false) do begin
    if Table1.FieldValues['mat_bin']=DBEdit1.Field.Value then begin
      result := true ; break
    end else begin
      Table1.Next;
    end;
  end;
end;


enfin une programmation un peu structurée... Rolling Eyes

decaller les if begin, else, end, n'a jamais fait de mal et a l'avantage de mieu structurer son texte d'où facilité de déboggage.

un puriste !
Par Cédric, le 25 Mai 2005, 15:47 Revenir en haut de page Répondre en citant

Salut Léo,

Je me trompe peut-être, mais le puriste est dans l'excès... or je suis loin d'être puriste de ce côté là Wink . C'est vrai qu'utiliser les tabulations et espacer le code simplifie le débogage, mais il m'arrive parfois de faire de gros pâtés de code quand ce n'est pas utile (enfin quand ca ne me paraît pas utile Rolling Eyes ).

Ayant appris sur le tas, je ne pense pas avoir les réflexes / la syntaxe de quelqu'un qui aurait suivi une formation dans le domaine (mais bon, tant que ça fonctionne...).

Mais j'y pense, si je me souviens bien tu as travaillé dans la prog, tu continues à programmer ? Tu utilises quel(s) langages ?

Forums » Programmation » delphi programation pour les base de données · Envoyer le lien