Bonjour.

Je débute sur C# et suis en train de chercher à migrer mes applis sous Access vers du Windows Form.

Sur cette partie de code à l'éxécution de ExecuteNonQuery() j'ai droit à l'erreur suivante : Impossible de supprimer dans les tables spécifiées.

J'ai écumé pas mal de page d'aide mais je n'arrive pas à trouver la raison...

La base est au format Access 2010.

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
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
 
private void Btn_valid_Click(object sender, EventArgs e)
        {
            if(query.ModFlag)
            {
                foreach(KeyValuePair<string,string> SQL in query.SQLLists())
                {
                    try
                    {
                        query.SQL = SQL.Value;
 
                        if (string.Compare(query.SQL, "[Box]") != 0)
                        {
                            query.SQL = query.SQL.Replace("[Box]", Txt_box.Text);
                        }
 
                        //Ouverture d'une connexion vers la BDD                    
                        using (OleDbConnection connection = new OleDbConnection(Constant.CONNSTR))
                        {
                            connection.Open();
                            //cmd = new OleDbCommand(query.SQL, connection);
 
                            cmd = new OleDbCommand("DELETE * FROM T_DetailColi", connection);
 
                            if (SQL.Key != "Last")
                            {
                                cmd.ExecuteNonQuery();
                                cmd.Dispose();
                            }
                            else
                            {
                                read = cmd.ExecuteReader();
                                cmd.Dispose();
                            }
 
                            connection.Close();                            
                        }
                    } 
                    catch(OleDbException ex)
                    {
                        Console.WriteLine("{0} Exception",ex);
                    }
                }
            }
        }