OVH Cloud OVH Cloud

Requete Insert into en VBA

4 réponses
Avatar
Olivier
Bonjour,

Je cherche à copier un enregistrement d'une table à l'autre lors d'un clic
sur un bouton
Le pb c'est que je n'arrive pas à trouver le format de ma requete en VBA
J'ai essayé vainement de faire un
docmd.runsql (insert into tbl_destination (champ1, champ2...) select
tbl-source.champ1, tbl_source.champ2, ... from tbl_source
mais ca ne fonctionne pas

Pouvez vous m'aider
Olivier

4 réponses

Avatar
Raymond [mvp]
Bonjour.

la syntaxe est celle-ci:
INSERT INTO TableCible ( Numéro, Pays, Région )
SELECT TableSource.Numéro, TableSource.Pays, TableSource.Région
FROM TableSource;
si tu veux le lancer par vba avec un runsql

DoCmd.RunSQL "INSERT INTO TableCible " _
& "( Numéro, Pays, Région ) " _
& "SELECT TableSource.Numéro, " _
& "TableSource.Pays, " _
& "TableSource.Région " _
& "FROM TableSource;"

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Olivier" a écrit dans le message de news:
cuvgsm$s1p$
Bonjour,

Je cherche à copier un enregistrement d'une table à l'autre lors d'un clic
sur un bouton
Le pb c'est que je n'arrive pas à trouver le format de ma requete en VBA
J'ai essayé vainement de faire un
docmd.runsql (insert into tbl_destination (champ1, champ2...) select
tbl-source.champ1, tbl_source.champ2, ... from tbl_source
mais ca ne fonctionne pas

Pouvez vous m'aider
Olivier




Avatar
Olivier
Merci c'est parfait ca fonctionne tres bien !

il me reste toutefois un dernier probleme : ajouter a cett requete une
clause where avec une variable qui récupere le numéro de l'enregistrement
j'ai essayé tous les formats que je connais ex :
DoCmd.RunSQL "INSERT INTO TableCible " _
& "( Numéro, Pays, Région ) " _
& "SELECT TableSource.Numéro, " _
& "TableSource.Pays, " _
& "TableSource.Région " _
& "FROM TableSource " _
& "WHERE (((TableSource.Numéro) = Me.Numéro));"
mais ca ne fonctionne pas


"Raymond [mvp]" a écrit dans le message de
news:
Bonjour.

la syntaxe est celle-ci:
INSERT INTO TableCible ( Numéro, Pays, Région )
SELECT TableSource.Numéro, TableSource.Pays, TableSource.Région
FROM TableSource;
si tu veux le lancer par vba avec un runsql

DoCmd.RunSQL "INSERT INTO TableCible " _
& "( Numéro, Pays, Région ) " _
& "SELECT TableSource.Numéro, " _
& "TableSource.Pays, " _
& "TableSource.Région " _
& "FROM TableSource;"

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Olivier" a écrit dans le message de
news:

cuvgsm$s1p$
Bonjour,

Je cherche à copier un enregistrement d'une table à l'autre lors d'un
clic


sur un bouton
Le pb c'est que je n'arrive pas à trouver le format de ma requete en VBA
J'ai essayé vainement de faire un
docmd.runsql (insert into tbl_destination (champ1, champ2...) select
tbl-source.champ1, tbl_source.champ2, ... from tbl_source
mais ca ne fonctionne pas

Pouvez vous m'aider
Olivier








Avatar
Raymond [mvp]
& "FROM TableSource " _
& "WHERE TableSource.Numéro = " & Me.Numéro & ";"

si numéro est numérique sinon entourer de '
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Olivier" a écrit dans le message de news:
cuvm7e$vo3$
Merci c'est parfait ca fonctionne tres bien !

il me reste toutefois un dernier probleme : ajouter a cett requete une
clause where avec une variable qui récupere le numéro de l'enregistrement
j'ai essayé tous les formats que je connais ex :
DoCmd.RunSQL "INSERT INTO TableCible " _
& "( Numéro, Pays, Région ) " _
& "SELECT TableSource.Numéro, " _
& "TableSource.Pays, " _
& "TableSource.Région " _
& "FROM TableSource " _
& "WHERE (((TableSource.Numéro) = Me.Numéro));"
mais ca ne fonctionne pas


Avatar
Olivier
Merci c'est parfait
!

"Raymond [mvp]" a écrit dans le message de
news:%
& "FROM TableSource " _
& "WHERE TableSource.Numéro = " & Me.Numéro & ";"

si numéro est numérique sinon entourer de '
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Olivier" a écrit dans le message de
news:

cuvm7e$vo3$
Merci c'est parfait ca fonctionne tres bien !

il me reste toutefois un dernier probleme : ajouter a cett requete une
clause where avec une variable qui récupere le numéro de
l'enregistrement


j'ai essayé tous les formats que je connais ex :
DoCmd.RunSQL "INSERT INTO TableCible " _
& "( Numéro, Pays, Région ) " _
& "SELECT TableSource.Numéro, " _
& "TableSource.Pays, " _
& "TableSource.Région " _
& "FROM TableSource " _
& "WHERE (((TableSource.Numéro) = Me.Numéro));"
mais ca ne fonctionne pas