Recordet mise à jour base de données Excel problème syntaxe

  • Initiateur de la discussion Initiateur de la discussion creal69360
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

creal69360

XLDnaute Junior
Bonjour,

je suis en train de créer une application qui va modifier des données dans un classeur fermé à l'aide d'userforms dans lequel on saisit les données. Je me sers de la fonction SQL Update pour mettre à jour ma base mais j'ai un soucis au niveau de la syntaxe. Au départ j'ai fait un test en métant à jour un seul champ, cela fonctionne:

texte_SQL = "UPDATE [" & onglet_source & "$] set GMR='" & Modifier_Postes.zt_gmr & "'"

Mais quand je mets tout les champs j'ai une erreur de syntaxe:

texte_SQL = "UPDATE [" & onglet_source & "$] set GMR='" & Modifier_Postes.zt_gmr & "', " & _
"Manager='" & Modifier_Postes.zt_mdp & "', " & _
"Libellé immos='" & Modifier_Postes.zt_libimmo & "', " & _
"Date MES='" & Modifier_Postes.zt_date_mes & "', " & _
"Dérog° prév#+Date de résor°_='" & Modifier_Postes.zt_derog & "', " & _
"IP-HT='" & Modifier_Postes.zt_ipht & "', " & _
"IP-CC='" & Modifier_Postes.zt_ipcc & "', " & _
"'IP Infrastructure='" & Modifier_Postes.zt_infra & "', " & _
"Willy Doc Poste HT='" & Modifier_Postes.zt_wdht & "', " & _
"Willy Doc Poste CC='" & Modifier_Postes.zt_wdcc & "', " & _
"WD (3 mois après)='" & Modifier_Postes.zt_wd3mois & "', " & _
"Entreprises Travaux et Ensembliers='" & Modifier_Postes.zt_entreprise_travaux & "', " & _
"Date ouverture externalisation='" & Modifier_Postes.zt_date_ouverture & "', " & _
"Date fermeture externalisation='" & Modifier_Postes.zt_date_fermeture & "', " & _
"Matériels à déposer O/N='" & Modifier_Postes.zt_materiels_deposes & "', " & _
"Matériels à déplacer O/N='" & Modifier_Postes.zt_materiels_deplaces & "', " & _
"Commentaires Matériels déplacés ou déposés='" & Modifier_Postes.zt_commentaires & "'"

Voici ci-dessous le code permettant la mise à jour:

Sub modifier()


Dim cn, cn1 As ADODB.Connection
Dim rst, rstmanager As ADODB.Recordset
Dim texte_SQL As String



Set cn = New ADODB.Connection

cn.Open "Provider=Microsoft.ACE.OLEDB.12.0;" & "Data Source=" & chemin_base & ";Extended Properties=Excel 8.0;"

Set rst = New ADODB.Recordset
MsgBox (texte_SQL)
Set rst = cn.Execute(texte_SQL)
Set rst = Nothing
cn.close
set cn=nothing
end sub
 
Re : Recordet mise à jour base de données Excel problème syntaxe

Bonjour,

Sans les exemples classeurs source et destination, difficile à vue de nez (surtout à lire). Mais je vois que tu as des noms de champs avec espace: "Dérog° prév#+Date de résor°_"

Essaie de le entourer de brackets [Dérog° prév#+Date de résor°_]
Evite également les + et - ou autre signes particulier dans les noms de champs.

A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
860
Compte Supprimé 979
C
Retour