Critère à modifier dans requete Access VBA

Bdufay Messages postés 12 Date d'inscription   Statut Membre Dernière intervention   -  
blux Messages postés 27127 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

Je dispose d'une base de données Access dans laquelle un des champs est le nom du pays.

Nous avions l'habitude de réaliser des requetes en incluant le champs "Country_Name" pour lequel nous indiquons "à la mano" le nom du pays voulu et nous faisions tourner la requete 23 fois (car il y a 23 pays) en changeant le nom du pays à chaque fois.
A chaque fois nous faisions une extraction distincte du resultat sous Excel. Ce process étant très long, je souhaiterais l'automatiser.

Je pensais créer un code VBA incluant une boucle qui modifie le critère "Country_Name", fait l'export du résultat de la requete avec un nom de fichier variable.

Mon problème porte sur le changement du critère "Country_Name" que je n'arrive pas à faire sous VBA. Le reste je n'ai pas de soucis.

Pourriez-vous m'aider ?

D'avance un grand merci (pour info, je suis relativement novice sur Access j'avais plutot l'habitude d'utiliser Excel et VBA pour Excel)

BDufay




A voir également:

2 réponses

blux Messages postés 27127 Date d'inscription   Statut Modérateur Dernière intervention   3 361
 
Salut,

d'où prends-tu ton country_name ?
0
Bdufay Messages postés 12 Date d'inscription   Statut Membre Dernière intervention   19
 
Hello

Le "Country_Name" est l'un des champs de ma base de départ ; en fait dans ma base de travail brute, j'ai un code pays, et j'utilise ensuite une autre table qui me fait la correspondance avec le nom du pays;

J'utilise ce champs dans ma requete créée directement sous Access (pas en SQL ni en VBA) et j'intègre au niveau des critères soit le nom du pays, soit un [Select Country_Name] pour avoir un userform qui s'affiche et surtout enchainer les extractions.

Je précise cependant que je n'ai aucune contrainte sur ce champ ni sur le userform, ce que je souhaite in fine c'est 23 fichiers Excel, un par pays.

Merci
0
blux Messages postés 27127 Date d'inscription   Statut Modérateur Dernière intervention   3 361
 
Il te faut donc un recordset que tu vas parcourir pour en extraire chaque pays, afin de l'intégrer dans ton code.

Un truc comme ça (ou approchant), pour afficher les country_name :

dim rs As DAO.Recordset  
set rs = CurrentDb.OpenRecordset("table_contenant_le_country_name)" 
rs.MoveFirst  
while not rs.eof 
   msgbox rs!country_name 
   rs.movenext  
wend  
0