OVH Cloud OVH Cloud

Insert into enfin la solution ... ou presque

4 réponses
Avatar
denis le breton
HELP
j'ai du mal à y croire, être si près de la solution, et ... rien
Un grand Merci à Pierre qui m'a répndu a capella
Un grand merci à Jessy et les autres et surtout 3STONE
j'en oublie
mais bon sang de bois
pourquoi n'y a t'il pas une petite base de connaissance sur ce sujet
Passer une journée de galère là-dessus j'ai failli démissionner.

Alors souvent, quand enfin j'ai trouvé, je reformule
La syntaxe permettant d'écrire dans une table en vba est la suivante : (pour
un champ à la fois)
currentdb;execute "Insert into MaTable (lechamp) Values ('" & valeur & "')"

Pour plusieurs champs simultanés
Pierre n'était pas loin
currentdb.execute "insert into Table(champ1,champ2) values ('" & var1 & ',"
& var2 & ")"
Mais je bloque, car cela ne fonctionne pas même en changeant par :
CurrentDb.Execute "insert into Table(champ1 ,champ2) values ('" & var1 & " ,
" & var2 & "')"
Cherchez l'erreur
Je continue mon enquête
Denis

4 réponses

Avatar
Bonjour

à la volée j'écrirais pour var1 et var2 nombres :
currentdb.execute "insert into Table(champ1,champ2) values (" & var1 & "," &
var2 & ")"

d'où pour var1 et var2 textes :
currentdb.execute "insert into Table(champ1,champ2) values ('" & var1 &
"','" & var2 & "')"

autrement dit pour var1 et var2 textes en syntaxe non simplifiée :
currentdb.execute "insert into Table(champ1,champ2) values (" & "'" & var1 &
"'" & "," & "'" & var2 & "'" & ")"

pire je crois qu'on peut aussi écrire
currentdb.execute "insert into Table(champ1,champ2) values (" & """" & var1
& """" & "," & """" & var2 & """" & ")"

A toi d'adapter pour var1 texte et var2 nombre ;-)

ah oui : je n'ai pas testé la syntaxe proposée car access pas encore
réinstallé suite à piti pwoblem de pc

--
A+
Arnaud
-----------------------------------------------------
Tout ce qu'il faut savoir est sur http://www.mpfa.info
-----------------------------------------------------


"denis le breton" a écrit dans le
message de news:
HELP
j'ai du mal à y croire, être si près de la solution, et ... rien
Un grand Merci à Pierre qui m'a répndu a capella
Un grand merci à Jessy et les autres et surtout 3STONE
j'en oublie
mais bon sang de bois
pourquoi n'y a t'il pas une petite base de connaissance sur ce sujet
Passer une journée de galère là-dessus j'ai failli démissionner.

Alors souvent, quand enfin j'ai trouvé, je reformule
La syntaxe permettant d'écrire dans une table en vba est la suivante :
(pour

un champ à la fois)
currentdb;execute "Insert into MaTable (lechamp) Values ('" & valeur &
"')"


Pour plusieurs champs simultanés
Pierre n'était pas loin
currentdb.execute "insert into Table(champ1,champ2) values ('" & var1 &
',"

& var2 & ")"
Mais je bloque, car cela ne fonctionne pas même en changeant par :
CurrentDb.Execute "insert into Table(champ1 ,champ2) values ('" & var1 & "
,

" & var2 & "')"
Cherchez l'erreur
Je continue mon enquête
Denis



Avatar
Eric
re,

En complément de la réponse d'Arnaud, si la table ne contient que 3
champs, le 1er et le 3ème numérique, le 2nd de type alphanumérique,
on peut mettre :
Dim strsql As String
strsql = "Insert Into LaTable Values(99,'Toto',10);"
CurrentDb.Execute strsql

sans devoir préciser les champs de la table derriere le nom de la table.
Il suffit de respecter dans le prédicat VALUES les champs dans l'ordre
de la table.

HELP
j'ai du mal à y croire, être si près de la solution, et ... rien
Un grand Merci à Pierre qui m'a répndu a capella
Un grand merci à Jessy et les autres et surtout 3STONE
j'en oublie
mais bon sang de bois
pourquoi n'y a t'il pas une petite base de connaissance sur ce sujet
Passer une journée de galère là-dessus j'ai failli démissionner.

Alors souvent, quand enfin j'ai trouvé, je reformule
La syntaxe permettant d'écrire dans une table en vba est la suivante : (pour
un champ à la fois)
currentdb;execute "Insert into MaTable (lechamp) Values ('" & valeur & "')"

Pour plusieurs champs simultanés
Pierre n'était pas loin
currentdb.execute "insert into Table(champ1,champ2) values ('" & var1 & ',"
& var2 & ")"
Mais je bloque, car cela ne fonctionne pas même en changeant par :
CurrentDb.Execute "insert into Table(champ1 ,champ2) values ('" & var1 & " ,
" & var2 & "')"
Cherchez l'erreur
Je continue mon enquête
Denis



--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
denis le breton
MERCI
Je t'associe aux bonnes volontés qui participe très souvent à nous dépanner
Bonne soirée à toi Eric
et compte sur moi pour faire encore appel à ce forum
Denis


re,

En complément de la réponse d'Arnaud, si la table ne contient que 3
champs, le 1er et le 3ème numérique, le 2nd de type alphanumérique,
on peut mettre :
Dim strsql As String
strsql = "Insert Into LaTable Values(99,'Toto',10);"
CurrentDb.Execute strsql

sans devoir préciser les champs de la table derriere le nom de la table.
Il suffit de respecter dans le prédicat VALUES les champs dans l'ordre
de la table.

HELP
j'ai du mal à y croire, être si près de la solution, et ... rien
Un grand Merci à Pierre qui m'a répndu a capella
Un grand merci à Jessy et les autres et surtout 3STONE
j'en oublie
mais bon sang de bois
pourquoi n'y a t'il pas une petite base de connaissance sur ce sujet
Passer une journée de galère là-dessus j'ai failli démissionner.

Alors souvent, quand enfin j'ai trouvé, je reformule
La syntaxe permettant d'écrire dans une table en vba est la suivante : (pour
un champ à la fois)
currentdb;execute "Insert into MaTable (lechamp) Values ('" & valeur & "')"

Pour plusieurs champs simultanés
Pierre n'était pas loin
currentdb.execute "insert into Table(champ1,champ2) values ('" & var1 & ',"
& var2 & ")"
Mais je bloque, car cela ne fonctionne pas même en changeant par :
CurrentDb.Execute "insert into Table(champ1 ,champ2) values ('" & var1 & " ,
" & var2 & "')"
Cherchez l'erreur
Je continue mon enquête
Denis



--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr




Avatar
denis le breton
MERCI
Tu as formulé très clairement les réponses, la précision d'Eric me
coinvient aussi.
Bonne soirée à toi Arnaud



Bonjour

à la volée j'écrirais pour var1 et var2 nombres :
currentdb.execute "insert into Table(champ1,champ2) values (" & var1 & "," &
var2 & ")"

d'où pour var1 et var2 textes :
currentdb.execute "insert into Table(champ1,champ2) values ('" & var1 &
"','" & var2 & "')"

autrement dit pour var1 et var2 textes en syntaxe non simplifiée :
currentdb.execute "insert into Table(champ1,champ2) values (" & "'" & var1 &
"'" & "," & "'" & var2 & "'" & ")"

pire je crois qu'on peut aussi écrire
currentdb.execute "insert into Table(champ1,champ2) values (" & """" & var1
& """" & "," & """" & var2 & """" & ")"

A toi d'adapter pour var1 texte et var2 nombre ;-)

ah oui : je n'ai pas testé la syntaxe proposée car access pas encore
réinstallé suite à piti pwoblem de pc

--
A+
Arnaud
-----------------------------------------------------
Tout ce qu'il faut savoir est sur http://www.mpfa.info
-----------------------------------------------------


"denis le breton" a écrit dans le
message de news:
HELP
j'ai du mal à y croire, être si près de la solution, et ... rien
Un grand Merci à Pierre qui m'a répndu a capella
Un grand merci à Jessy et les autres et surtout 3STONE
j'en oublie
mais bon sang de bois
pourquoi n'y a t'il pas une petite base de connaissance sur ce sujet
Passer une journée de galère là-dessus j'ai failli démissionner.

Alors souvent, quand enfin j'ai trouvé, je reformule
La syntaxe permettant d'écrire dans une table en vba est la suivante :
(pour

un champ à la fois)
currentdb;execute "Insert into MaTable (lechamp) Values ('" & valeur &
"')"


Pour plusieurs champs simultanés
Pierre n'était pas loin
currentdb.execute "insert into Table(champ1,champ2) values ('" & var1 &
',"

& var2 & ")"
Mais je bloque, car cela ne fonctionne pas même en changeant par :
CurrentDb.Execute "insert into Table(champ1 ,champ2) values ('" & var1 & "
,

" & var2 & "')"
Cherchez l'erreur
Je continue mon enquête
Denis