Problème avec une requête de suppression

Messages postés
44
Date d'inscription
lundi 27 août 2007
Statut
Membre
Dernière intervention
1 novembre 2016
- - Dernière réponse : khalidev
Messages postés
5
Date d'inscription
vendredi 1 novembre 2013
Statut
Membre
Dernière intervention
1 novembre 2013
- 1 nov. 2013 à 22:00
Salut à tous, j'ai un gros problème avec une requête de suppression de données dans une base Access que je souhaiterais vous soumettre à tous pour analyse. En effet, je souhaite supprimer tout un lot de données en une seule fois. Voici mon code:
        private void Click_Effacer(object sender, EventArgs e)
{
//Chaine de suppresion
string sSupprimerSQL = "DELETE ALL FROM [Fiche_PP]" + "\n" +
"(WHERE [code_enseignant] = '" + txtCodeEnseignant.Text + "'AND" + "\n" +
"[code_classe] = " + this.txtCodeClasse.Text + "AND" + "\n" +
"[code_annee] = " + this.txtCodeAnneeScolaire.Text + "AND" + "\n" +
"[code_trimestre] = " + this.txtCodeTrimestre.Text + ")";

//Declaration d'une boite de dialogue "YesNo"
//Si l'utilisateur confirme la suppresion on exécute la requette
if (MessageBox.Show("Êtes-vous sûr de vouloir Supprimer" + "\n" +
"ces enregistrements?" + "\n" +
"A T T E N T I O N." + "\n" +
"Cette opération est irréversible...", this.Text, MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
try
{

//Declaration de ma connexion
OleDbDataAdapter Adapt = new OleDbDataAdapter(sSupprimerSQL, strConex);
//Ma commande dans un dataset different de celui d'afficher ..
Adapt.Fill(DtSetDel);
//Mise a jours du Label
iMax--;
i = 1;
Afficher();
Label_Effectif();
//Clear du DtSet pour la prochaine suppresion
DtSetDel.Clear();

Montrer_Text(false);
nbTotalNotes();

this.btnNouveau.Text = "&Nouveau";
this.btnNouveau.BackColor = Color.Navy;
this.btnNouveau.Enabled = true;

this.btnAnnuler.Text = "&Chercher";
this.btnAnnuler.BackColor = Color.Navy;

this.btnModifier.Text = "&Modifier";
this.btnModifier.BackColor = Color.Navy;

this.btnModifier.Enabled = false;
this.btnSupprimer.Enabled = false;
this.btnModifier.Visible = false;
this.btnSupprimer.Visible = false;

this.btnPrecedent.Enabled = true;
this.btnSuivant.Enabled = true;

this.txtCodeEleve.Enabled = true;
this.txtCodeEnseignant.Enabled = true;

// Affiche le premier élève par ordre alphabétique
frmFiche_PP_Trimestrielle_Load(null, null);

}
catch (FileNotFoundException ex)//(Exception ex)
{
//MessageBox.Show("Pas d'Elève sélectionné", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
MessageBox.Show(ex.Message, "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error);//MessageBox.Show(ex.Message, "Erreur");
}
}
}


Et j'ai comme réponse le message suivant: "Erreur de syntaxe dans l'instruction DELETE.
Aidez moi. Merci
Afficher la suite 

6 réponses

Messages postés
111
Date d'inscription
samedi 28 juillet 2012
Statut
Membre
Dernière intervention
10 septembre 2019
3
0
Merci
Essaie avec:
DELETE * from ...........

Commenter la réponse de remiki90
0
Merci
Bonjour

Enleve le ALL de ta requette SQL

il doit être du genre DELETE FROM TaTable
et je crois tout ira bien
Commenter la réponse de Levotre123
Messages postés
44
Date d'inscription
lundi 27 août 2007
Statut
Membre
Dernière intervention
1 novembre 2016
0
Merci
Merci, je vaiis essayer cela, je te donnerai des nouvelles
Commenter la réponse de warzet
Messages postés
44
Date d'inscription
lundi 27 août 2007
Statut
Membre
Dernière intervention
1 novembre 2016
0
Merci
Je viens de rectifier la requête mais j'ai toujours le même problème. Je tenais à préciser que cette requête devrais supprimer pas moins de 55 enregistrements liés par les mêmes conditions de regroupement de cette requête.
remiki90
Messages postés
111
Date d'inscription
samedi 28 juillet 2012
Statut
Membre
Dernière intervention
10 septembre 2019
3 -
salut, est-que ton [Fiche_PP] est une TABLE?
warzet
Messages postés
44
Date d'inscription
lundi 27 août 2007
Statut
Membre
Dernière intervention
1 novembre 2016
-
Oui mon [Fiche_PP] est une table et je souhaite y effacer plusieurs enregistrement remplissant la condition décrite dans la requête. Merci
Commenter la réponse de warzet
Messages postés
26775
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
15 novembre 2019
317
0
Merci
Bonjour.
N'aurais tu pas des soucis d'espace ?
Ajoute des espaces avant tes AND.
warzet
Messages postés
44
Date d'inscription
lundi 27 août 2007
Statut
Membre
Dernière intervention
1 novembre 2016
-
Les espaces n'ont eu aucun effet, et le résultat est toujours le même. Mais sachez que j'essaie de supprimer au moins une cinquantaine d'enregistrement. Cela n'aurait-il pas de conséquence direct sur la requête? Merci à tous
Commenter la réponse de jordane45
Messages postés
5
Date d'inscription
vendredi 1 novembre 2013
Statut
Membre
Dernière intervention
1 novembre 2013
1
0
Merci
essaye d'utiliser delete from nomtable where ...
et d'enlever les [] sur les noms des champs
Commenter la réponse de khalidev