Forum - Questions générale - Sujet n°662

[]
Nombre de membres 1 membre
Connectés : ( personne )
 

La Charte du Forum - La Charte du Forum

Forum - Forum
Questions générale - Questions générale


clos par 3Stone le 05/02/2013 : 02:08  Sujet n° 662  joindre des champs de différentes tables pour batir un requête vba

le 31/01/2013 : 22:18
par macgiver

Anonyme

visiteur

Bonjour, je souhaite créer en vba, une requete ajout à une table. Cependant j'aimerais toujours en vba construire ma requete qui doit faire appel a 2 tables dont le champ en lien se nomme 'secteur'. Comment m'y prendre?

merci a vous
Ecrire à macgiver  sujet clos  Haut

[]   

Réponse n° 1
--------
le 01/02/2013 : 01:52
par 3Stone

3Stone

Administrateur

Bonjour,

Pour créer une requête par VBA, il faut utiliser qque chose comme ceci :
 
Code :
Dim db As Database
Dim qdf As QueryDef
Set db = CurrentDb
Set qdf = db.CreateQueryDef("MaRequete", "Insert Into T_Clients (NomClient, champ2) Values ('Toto',123)")
qdf.Close
db.Close
Set qdf = Nothing
Set db = Nothing
"MaRequete" représente ici le nom de la future requête.
Le texte de la requête est dépendant de ce que tu souhaites faire...
Tu peux récupérer très simplement ce texte en créant la requête dans le requêteur graphique et puis de l'afficher en mode SQL (menu affichage, mode SQL)

Mais je ne comprends pas :
 
Citation :

ma requete qui doit faire appel a 2 tables dont le champ en lien se nomme 'secteur'.

 
Cordialement,
Pierre(3stone)
  clos par 3Stone le 05/02/2013 : 02:08  Haut
Réponse n° 2
--------
le 01/02/2013 : 14:25
par macgiver

Anonyme

visiteur
ce que je veux dire c'est qu'en mode graphique on peut lier 2 tables ensemble via un champ commun (qui se retrouve dans les 2 tables et ayant les memes valeurs),donc si j'affiche cette jointure en mode SQL ça me donne un 'inner join' mais en mode VBA je ne sais pas comment faire pour lier des champs ensemble dans une requete. 

Ce que j'aimerais c'est de ne pas passé par la création d'une requete en mode graphique mais seulement en vba, est-ce possible???

merci
Ecrire à macgiver   clos par 3Stone le 05/02/2013 : 02:08  Haut
Réponse n° 3
--------
le 01/02/2013 : 15:00
par macgiver

Anonyme

visiteur
bonjour j'ai trouvé la solution et en voici le résultat :

DoCmd.RunSQL "INSERT INTO tmp_web (ID, NO_AAO, SECTEUR) " & _
        "SELECT web_soum.ID, web_soum.no_aao, t_planif_pgdb.secteur FROM web_soum INNER JOIN " & _
        "t_planif_pgdb ON web_soum.no_aao = t_planif_pgdb.no_aao;"

avec cette ligne de commande en vba j'arrive à répondre à mon besoin,  merci pour la piste de solution posté précédemment.

Merci
Ecrire à macgiver   clos par 3Stone le 05/02/2013 : 02:08  Haut
Réponse n° 4
--------
le 01/02/2013 : 18:14
par 3Stone

3Stone

Administrateur

Bonjour,

La question était :
 
Citation : macgiver

je souhaite créer en vba, une requete ajout à une table


ce qui est totalement différent de "exécuter une requête par VBA"

Cordialement,
Pierre(3stone)
  clos par 3Stone le 05/02/2013 : 02:08  Haut
actif sujet actif   clos sujet clos   Important! Important!   Nouveau Nouveau message   -   Rectifier Rectifier message   Clôturer Clôturer sujet   Remonter Remonter
[]
Catégories de discussion  Forum 



Haut