Mon clientdataset est relié à un SQLDataset dont la commandtext est une requete :
Mes données s'affiche dans des DBedits.
Code : Sélectionner tout - Visualiser dans une fenêtre à part select g_affaires.numaff,libaff,datecreat,datearchi,ch_affaire,commer,deviseur,dessinateur,ctrav from g_affaires where g_affaires.numaff = :param ;
J'ai un bouton modifier qui met lesJ'ai un bouton enregistrer qui appelle une fonction
Code : Sélectionner tout - Visualiser dans une fenêtre à part DBEdits.enabled := true
cette fct teste si les donnees ont ete saisies ou pas :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 if testchamps <> true then begin ClientDataSet1.ApplyUpdates(0) ;
si je modifie mes champs sans faire d'erreur (pas de DBedits vides) la modification se passe tres bien ..
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 function TForm2.testchamps : boolean ; begin testchamps := false ; if DBEdit5.Text = '' then begin showmessage('vous n''avez pas saisi le chargé d''affaire') ; testchamps := true ; end ;
si je laisse un champ vide, j'essaye d'enregistrer message d'erreur "vous n'avez pas saisi.." normal (le applyupdates ne s'effectue pas)
je remplis donc le champ dbedit , clik sur bouton enregistrer et c'est là qu'il me met :j'ai essayé de remplacer dans la fonction testchamps :EDatabaseError Enregistrement non trouvé ou modifié par 1 autre utilisateur
ça ne marche pas mieux
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 if ClientDataSet1.fieldbyname('COMMER').asstring = '' then begin showmessage('vous n''avez pas saisi ...') ;
si qqu'un a une idée .. merci bien
Partager