cmeme
Messages postés12Date d'inscriptionjeudi 1 décembre 2005StatutMembreDernière intervention15 décembre 2005
-
15 déc. 2005 à 22:48
aieeeuuuuu
Messages postés698Date d'inscriptionjeudi 16 janvier 2003StatutMembreDernière intervention20 mai 2011
-
19 déc. 2005 à 18:39
Salut
Voila j'ai deux tables la 1ere TABLE AUTEUR et la 2ème TABLE ECRIRE.
j'ai deux clefs primaire dans AUTEUR qui sont NOM_AUTEUR et
PRENOM_AUTEUR et dans la TABLE ECRIRE ce sont des clefs externe
(NOM_AUTEUR et PRENOM_AUTEUR) ce que j'aimerai savoir faire c'est
lorsque je modifie mes champs NOM_AUTEUR et PRENOM_AUTEUR dans la
Gestion Auteur que celle ci change NOM_AUTEUR et PRENOM_AUTEUR dans la
Gestion Ecrire également. J'ai deja un code pour modifier NOM_AUTEUR et
PRENOM_AUTEUR dans la gestion Auteur elle fonctionne mais elle modifie
pas les champs NOM_AUTEUR et PRENOM_AUTEUR dans la Gestion Ecrire.
Code:, ----
var
OldType,OldType1,OldType2,OldType3 :string; // Déclaration de variable
OldType4,OldType5 :string;
procedure TGes_Auteur.Modifier_AuteurClick(Sender: TObject);
beginif (edit1.Text '')or (edit2.Text '')or (edit3.Text = '')or (edit4.Text='') then
begin
messagedlg('Veuillez sélectionner le champs à supprimer', mtWarning,[mbok],0);
end
else
with DataModule2.IBQuery_Auteur do
begin // Ici on modifie les champs sélectionner
SQL.Clear;
SQL.Add('Update AUTEUR set NOM_AUTEUR=:Nom_Auteur,
PRENOM_AUTEUR=:Prenom_Auteur, PSEUDONYME=:Pseudonyme,
NATIONALITE=:Nationalite');SQL.Add('WHERE NOM_AUTEUR :OldType and PRENOM_AUTEUR :OldType1 and PSEUDONYME = :OldType2 and
NATIONALITE=:OldType3 ');
DataModule2.IBQuery_Auteur.ParamByName('Nom_Auteur').AsString:=edit1.text;
DataModule2.IBQuery_Auteur.ParamByName('OldType').AsString:=OldType;
DataModule2.IBQuery_Auteur.ParamByName('Prenom_Auteur').AsString:=edit2.text;
DataModule2.IBQuery_Auteur.ParamByName('OldType1').AsString:=OldType1;
DataModule2.IBQuery_Auteur.ParamByName('Pseudonyme').AsString:=edit3.text;
DataModule2.IBQuery_Auteur.ParamByName('OldType2').AsString:=OldType2;
DataModule2.IBQuery_Auteur.ParamByName('Nationalite').AsString:=edit4.text;
DataModule2.IBQuery_Auteur.ParamByName('OldType3').AsString:=OldType3;
ExecSQL;
end;
with DataModule2.IBQuery_Ecrire do
begin
SQL.Clear;
SQL.Add('Update ECRIRE set NOM_AUTEUR=:Nom_Auteur, PRENOM_AUTEUR=:Prenom_Auteur');SQL.Add('WHERE NOM_AUTEUR :OldType4 and PRENOM_AUTEUR :OldType5 ');
DataModule2.IBQuery_Ecrire.ParamByName('Nom_Auteur').AsString:=Ges_Auteur.edit1.text;
DataModule2.IBQuery_Ecrire.ParamByName('OldType4').AsString:=OldType4;
aieeeuuuuu
Messages postés698Date d'inscriptionjeudi 16 janvier 2003StatutMembreDernière intervention20 mai 20113 19 déc. 2005 à 18:39
salut
je ne connais pas specialement INTERBASE, mais n'y a-t-il pas un equivalent de l'option CASCADE, qui, quand tu modifieune clef primaire dans une table, modifie les clef etrangere de toutes les tables adjacentes (idem pour les delete...)