OVH Cloud OVH Cloud

Pb INSERT TO

3 réponses
Avatar
jean-claude.mansion
Bonjour =E0 tous

j'ai un probl=E8me dans une requete Insert To :

je veux rentrer dans une table Access des donn=E9es=20
(variables)

Maxi =3D Maxi + 1
Call ADOcnx.Execute("insert into " &=20
TableName & _
"(num, dep, nom, prenom, Typvoie, numvoie,=20
voie, cp, ville, tel, rubrique, datecreation) values (" & _
Maxi & ", " & _
left(CP, 2) & ", " & _
nm & ", " & _
pm & ", " & _
tv & ", " & _
nv & ", " & _
vv & ", " & _
CP & ", " & _
vi & ", " & _
te & ", " & _
rb & ", " & _
Date & ")")

Mon probleme cela beug si pm =3D""
et si te=3D "02 48 74 91 88"=20
ou si rb=3D"ALIMENTATION GENERALE (DETAIL)"

Comment faire pour regler ces problemes

Merci de vos reponses
Cordialement
JCM

3 réponses

Avatar
Zoury
Salu Jean-Claude! :O)

Je ne sais pas ce que contienne tes variables...
note que tes champs de type String doivent entouré d'apostrophe dans la
requête.. regarde la modification apporté pour les champs nom et prénom dans
la liste des valeurs..

'***
Maxi = Maxi + 1
Call ADOcnx.Execute("insert into " &
TableName & _
"(num, dep, nom, prenom, Typvoie, numvoie,
voie, cp, ville, tel, rubrique, datecreation) values (" & _
Maxi & ", " & _
left(CP, 2) & ", '" & _
nm & "', '" & _
pm & "', " & _
tv & ", " & _
nv & ", " & _
vv & ", " & _
CP & ", " & _
vi & ", " & _
te & ", " & _
rb & ", " & _
Date & ")")
'***

sinon imprime (Debug.Print) la requête avant de la passé en paramètre et
regarde ce qui cloche.. (envoi nous la si tune trouve pas ;O)


Mon probleme cela beug si pm =""
et si te= "02 48 74 91 88"
ou si rb="ALIMENTATION GENERALE (DETAIL)"



seulement dans ces cas là ?

--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
Le français se refait une beauté, parlons en :
http://www.orthographe-recommandee.info/
Avatar
JCM
Salut ZOURY

Toutes mes variables sont string sauf num qui est integer,

j'ai modifié mon code comme ceci :

Dim sQuery As String
Maxi = Maxi + 1
sQuery = "insert into " & TableName & _
"(num, dep, nom, prenom, Typvoie, numvoie,
voie, cp, ville, tel, rubrique, datecreation) values (" & _
Maxi & ", '" & _
left(CP, 2) & "', '" & _
nm & "', '" & _
pm & "', '" & _
tv & "', '" & _
nv & "', '" & _
vv & "', '" & _
CP & "', '" & _
vi & "', '" & _
te & "', '" & _
rb & "', '" & _
Date & "')"
Debug.Print sQuery

Le debug.print donne ceci, ce qui me semble bon :

insert into PC18(num, dep, nom, prenom, Typvoie, numvoie,
voie, cp, ville, tel, rubrique, datecreation) values
(1, '18', 'Vival', 'F', 'Place', '0', 'Mairie', '18350', 'N
ERONDES', '02 48 74 91 88', 'ALIMENTATION GENERALE
(DETAIL)', '01/09/2004')

Mais le INSERT TO beug et indique :

Erreur de syntaxe sur 02 48 74 91 88

de meme il arrive que certaines variables ont pour
valeur "", dans le cas ci-dessus c'est le cas pour pm et
nv je leur ait donné une valeur bidon pour pas que cela
beug mais en fait je voudrai qu'elle conserve la valeur ""
comment faire ?

Cordialement
JCM

-----Message d'origine-----
Salu Jean-Claude! :O)

Je ne sais pas ce que contienne tes variables...
note que tes champs de type String doivent entouré


d'apostrophe dans la
requête.. regarde la modification apporté pour les champs


nom et prénom dans
la liste des valeurs..

'***
Maxi = Maxi + 1
Call ADOcnx.Execute("insert into " &
TableName & _
"(num, dep, nom, prenom, Typvoie, numvoie,
voie, cp, ville, tel, rubrique, datecreation) values (" &


_
Maxi & ", " & _
left(CP, 2) & ", '" & _
nm & "', '" & _
pm & "', " & _
tv & ", " & _
nv & ", " & _
vv & ", " & _
CP & ", " & _
vi & ", " & _
te & ", " & _
rb & ", " & _
Date & ")")
'***

sinon imprime (Debug.Print) la requête avant de la passé


en paramètre et
regarde ce qui cloche.. (envoi nous la si tune trouve


pas ;O)


Mon probleme cela beug si pm =""
et si te= "02 48 74 91 88"
ou si rb="ALIMENTATION GENERALE (DETAIL)"



seulement dans ces cas là ?

--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
Le français se refait une beauté, parlons en :
http://www.orthographe-recommandee.info/


.



Avatar
ReSalut ZOURY

ne tient pas compte du message précédent cela fonctionne,
j'avais oublié de modifier le code dans INSERT TO

néanmoins il me faut ajouter la possibilité de:

Null interdit=non
chaine vide autoriséé=oui
dans la création de ma table, que me faut-il ajouter à ce
code : tbl.Columns.Append "zone", adVarWChar, 2

Merci de ta réponse
cordialement
Jean Claude
-----Message d'origine-----
Salu Jean-Claude! :O)

Je ne sais pas ce que contienne tes variables...
note que tes champs de type String doivent entouré


d'apostrophe dans la
requête.. regarde la modification apporté pour les champs


nom et prénom dans
la liste des valeurs..

'***
Maxi = Maxi + 1
Call ADOcnx.Execute("insert into " &
TableName & _
"(num, dep, nom, prenom, Typvoie, numvoie,
voie, cp, ville, tel, rubrique, datecreation) values (" &


_
Maxi & ", " & _
left(CP, 2) & ", '" & _
nm & "', '" & _
pm & "', " & _
tv & ", " & _
nv & ", " & _
vv & ", " & _
CP & ", " & _
vi & ", " & _
te & ", " & _
rb & ", " & _
Date & ")")
'***

sinon imprime (Debug.Print) la requête avant de la passé


en paramètre et
regarde ce qui cloche.. (envoi nous la si tune trouve


pas ;O)


Mon probleme cela beug si pm =""
et si te= "02 48 74 91 88"
ou si rb="ALIMENTATION GENERALE (DETAIL)"



seulement dans ces cas là ?

--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
Le français se refait une beauté, parlons en :
http://www.orthographe-recommandee.info/


.