voilà,j'ai une table détail et je veux supprimer tous les enregistrements de cette table d'un seul coup.Comment faire svp?
voilà,j'ai une table détail et je veux supprimer tous les enregistrements de cette table d'un seul coup.Comment faire svp?
Salut.
N'ayant pas connaissance du techno utilisé; je dirais que tu devrais execute cette requête sur cette table.
Sinon, tu devrais parcourir ta table et exécuter la méthode Delete sur chaque enregistrement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 DELETE FROM TATABLE
A+
voici le code que j'ai écrit:
mais il ne supprime qu'un seul enregistrement c'est tout.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 DM.TNotes.Edit; DM.TNotes.First; DM.TNotes.Delete; DM.TNotes.Next;
Essaie un peu ceci. Il fut quand même parcourir les enregistrements et les supprimer.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 With DM.TNotes do begin First; While Not eof do begin Delete; Next; end; end;
voila tout mon code:
je fais d'abord un filtre sur la table "notes" et puis je supprime les enregistrements trouvés en suivant le filtre effectué:
mais il efface 2 enregistrements seulement!???
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 DM.TNotes.Filtered:=false; DM.TNotes.Filter:='Num_classe = '''+(DBEdit1.Text)+''''; DM.TNotes.Filtered:=true; if messageDlg('Etes-vous sûr de vouloir supprimer cette classe?',mtinformation, [mbOK,mbCancel],0)=mrOK then begin With DM.TNotes do begin First; While Not eof do begin Delete; Next; end; end; end; end;
Je vais te donner ma methode :
PS : Il faut ptet changer un ou deux trucs en fonction du composant Query utilisé vu que je n'ia pas Delphi sous la main .
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 With TQuery.Create(Nil) do try //Ici paramétrage des connextion ou Alias //generation de la requête. Supposons que ta table s'appelle TNOTES SQL.Add('DELETE FROM TNOTES'); SQL.Add('Where Num_classe = :PNUM_CLASSE'); //Affectation du paramètre ParamByName('PNUM_CLASSE').AsString := DBEdit1.Text; //Execution de la requête ExecSQL; finally Free; End;
A+
Salut
Simplement parce que le Next est en trop dans la boucle.
Mais la méthode la plus simple et surtout plus efficace est celle présentée par Andry via SQL.
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part DELETE FROM TA_TABLE WHERE Condition;
@+ Claudius
Et pourquoi ne pas avoir fait tout simplement un EmptyTable sur la table
Jeankiki
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 taTable.EmptyTable;
salut.
ma table est une adotable,je pense que emptytable n'existe pas avc adotable.
cordialement.
Partager