Probleme de requete insert into [Résolu]

Signaler
Messages postés
12
Date d'inscription
jeudi 31 mai 2007
Statut
Membre
Dernière intervention
26 juin 2007
-
Messages postés
12
Date d'inscription
jeudi 31 mai 2007
Statut
Membre
Dernière intervention
26 juin 2007
-
Bonjour

Je voudrais faire une requete insert into dans un module VBA.

Ma requete etant tellement longue que je n'arrive pas a la faire tenir sur 1 ligne mais access ne veux pas.

Je suis quasiment sur que c'est une erreur de syntaxe mais je n'arrive pas a la resoudre.

Voici mon code

 sSQLInsert = "INSERT INTO " & monAutreTable & " ([insee],[terr_de_sante],[a_attention_de],[nom_professionnel_sante], [prenom_professionnel_sante], [prescripteur_pied], [salaire],[sexe_professionnel_sante],[adresse1_professionnel_sante],[adresse2_professionnel_sante],[adresse3_professionnel_sante],[cp_professionnel_sante],[ville_professionnel_sante],[departement], [tel_professionnel_sante],[portable_professionnel_sante],fax_professionnel_sante],[email_professionnel_sante],[mbre_associe],[date_Adhesion],[journee_annuelle1], [journee_annuelle2], [journee_annuelle3],[Module_fonct_rx], [Soiree_echange], [Soiree_echange2], [Journee_gentiane], [Journee_gentiane2],[Cotis_afcd_2007],[Cotis_afcd_2006])VALUES ( '" & sCode_insee & "', '" & sTerr_de_sante & "', '" & sA_attention_de & "', '" & sNom & "', '" & sPrenom & "', '" & sPrescripteur_pied & "', '" & sSalarie & "', '" & sTitre & "' ,'" & sAdresse1 & "', '" & sAdresse2 & "', '" & sAdresse3 & "', '" & sCP & "', '" & sDepartement & "', '" & sTel & "', '" & // fin 1er ligne
& sPortable & "', '" & sFax & "', '" & sEmail & "', '" & sMbre_associe & "', '" & sAdhesion & "', '" & sJournee_annuelle & "', '" & sJournee_annuelle2 & "', '" & sJournee_annuelle3 & "', '" & sModule_fonct_rx & "', '" & sSoiree_echange & "', '" & sSoiree_echange2 & "', '" & sJournee_gentiane & "', '" & sJournee_gentiane2 & "', '" & sCotis_afcd_2007 & "', '" & sCotis_afcd_2006 &"')"

Merci d'avance

10 réponses

Messages postés
12
Date d'inscription
jeudi 31 mai 2007
Statut
Membre
Dernière intervention
26 juin 2007

La requete insert into fonctionne. j'ai pue faire mon exportation
Si quelqu'un veut le code , qu'il vienne me le demander

Merci a tous ceux qui mont aider
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
56
Salut,
Effectivement c'est long...
Essaei peu être ceci.
sSQLInsert = "INSERT INTO " & monAutreTable & " ([insee],[terr_de_sante],[a_attention_de],[nom_professionnel_sante], " & _
"[prenom_professionnel_sante] , [prescripteur_pied], [salaire],[sexe_professionnel_sante],[adresse1_professionnel_sante], " & _
"[adresse2_professionnel_sante],[adresse3_professionnel_sante],[cp_professionnel_sante],[ville_professionnel_sante]," & _
"[departement], [tel_professionnel_sante],[portable_professionnel_sante],fax_professionnel_sante]," & _
"[email_professionnel_sante],[mbre_associe],[date_Adhesion],[journee_annuelle1], [journee_annuelle2], [journee_annuelle3]," & _
"[Module_fonct_rx], [Soiree_echange], [Soiree_echange2], [Journee_gentiane], [Journee_gentiane2],[Cotis_afcd_2007]," & _
"[Cotis_afcd_2006])VALUES ( '" & sCode_insee & "', '" & sTerr_de_sante & "', '" & sA_attention_de & "', '" & sNom & _
"', '" & sPrenom & "', '" & sPrescripteur_pied & "', '" & sSalarie & "', '" & sTitre & "' ,'" & sAdresse1 & _
"', '" & sAdresse2 & "', '" & sAdresse3 & "', '" & sCP & "', '" & sDepartement & "', '" & sTel & "', '" & _
sPortable & "', '" & sFax & "', '" & sEmail & "', '" & sMbre_associe & "', '" & sAdhesion & "', '" & sJournee_annuelle & "', '" & sJournee_annuelle2 & "', '" & sJournee_annuelle3 & "', '" & sModule_fonct_rx & "', '" & sSoiree_echange & "', '" & sSoiree_echange2 & "', '" & sJournee_gentiane & "', '" & sJournee_gentiane2 & "', '" & sCotis_afcd_2007 & "', '" & sCotis_afcd_2006 & "')"
, ----
[code.aspx?ID=41455 By Renfield]

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
37
pour découper ta requette sur plusieurs lignes de code tu peut faire comme ceci :

sSQLInsert = "contenu de la requette " _
                   "contenu de la requette - suite" _
                   "contenu de la requette - fin"

sinon tu fait comme ça :
sSQLInsert = "contenu de la requette"

sSQLInsert = sSQLInsert & " contenu de la requette - suite"
sSQLInsert = sSQLInsert & "contenu de la requette - fin"

---- Sevyc64  (alias Casy) ---- <hr size ="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
68
sinon tu fait comme ça :

à éviter, ca fait n réallocations, assez gourmand si on passe sur de nombreuses lignes et vue la requete ^^

Renfield
Admin CodeS-SourceS- MVP Visual Basic
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
56
Salut,[auteurdetail.aspx?ID=2359 Renfield]
Lundi matin difficile
j'crois qu'il manque du code ou alors j'ai pas compris

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
12
Date d'inscription
jeudi 31 mai 2007
Statut
Membre
Dernière intervention
26 juin 2007

le probleme est resolu. Merci
Mais il y a un autre probleme maintenant

Il me marque " erreur d'execution '3061'
Trop peu de parametres. 15 attendu"


et il marque l'erreur ici


Set myrst = db.OpenRecordset(StrSql, dbOpenDynaset) 'erreur ici
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
56
Salut,
Si j'ai bien compté mais rien est moins sur, il manque un Champ dans VALUES
Tu nommes 30 champs mais ne donnes que 29 Valeurs (mais encore une fois c'est si j'ai bien compté)

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
12
Date d'inscription
jeudi 31 mai 2007
Statut
Membre
Dernière intervention
26 juin 2007

salut

je m'en suis rendu compte je l'ai modifier et j'avais oublier une lettre.
Mais cela ne fonctionne tjs pas
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
68
manque pas de code, je citais casy (sans guillemets, je l'avoue):

sinon tu fait comme ça :
sSQLInsert = "contenu de la requette"
sSQLInsert = sSQLInsert & "contenu de la requette - suite"
sSQLInsert = sSQLInsert & "contenu de la requette - fin"
Messages postés
12
Date d'inscription
jeudi 31 mai 2007
Statut
Membre
Dernière intervention
26 juin 2007

le probleme est resolu. Merci
Mais il y a un autre probleme maintenant

Il me marque " erreur d'execution '3061'
Trop peu de parametres. 15 attendu"


et il marque l'erreur ici


Set myrst = db.OpenRecordset(StrSql, dbOpenDynaset) 'erreur ici

Merci a ts ceux qui me file un coup de main