Bonjour à tous,

Je ne sais pas si je suis dans le bon forum, mais je vais parler de BDD donc... on verra...

J'expose mon soucis : je cherche à mettre à jour une table depuis des données Excel. J'utilise donc le "machin" microsoft DAO.
Mon code est le suivant :
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
 
Set monWS = DAO.Workspaces(0)
Set maBDD = monWS.OpenDatabase("gp", True, True, "ODBC")
 
Range("a3").Select
Set monRS_item = maBDD.OpenRecordSet("lvl1_items", dbOpenDynaset)
 
 StrChaineSQL = "INSERT INTO lvl1_items ( designation_FR, designation_GB, qty, groupe_marchandise, indice, supplier, contrat ) VALUES (" & _
                                                Chr(34) & ActiveCell.Offset(0, 2) & Chr(34) & ", " & _
                                                Chr(34) & ActiveCell.Offset(0, 3) & Chr(34) & ", " & _
                                                Chr(34) & ActiveCell.Offset(0, 4) & Chr(34) & ", " & _
                                                Chr(34) & ActiveCell.Offset(0, 5) & Chr(34) & ", " & _
                                                Chr(34) & ActiveCell.Offset(0, 6) & Chr(34) & ", " & _
                                                Chr(34) & ActiveCell.Offset(0, 7) & Chr(34) & ", " & _
                                                Chr(34) & ActiveCell.Offset(0, 8) & Chr(34) & ")"
 
maBDD.Execute StrChaineSQL
VBA me renvoie une erreur 3113 :
le champ 'designation_FR' n'est pas un champ pouvant être mis à jour.
Le truc, c'est que quand j'exécute la commande SQL dans phpMyAdmin, la mise à jour se fait sans soucis.

Le champ n'est pas incremental.

J'ai bien essayé de changer les options dans les ouvertures de recordset, mais rien n'y fait.

Merci d'avance pour votre aide.

Voilà...