[VBA_Access] Export de requêtes à la suite de la même feuille Excel

Export de requêtes à la suite de la même feuille Excel [VBA_Access] - VB/VBA/VBS - Programmation

Marsh Posté le 16-06-2005 à 15:29:28    

Bonjour,
 
J'ai une base Access avec différents formulaires.
Les utilisateurs doivent remplir un certain nombre de champs dans les formulaires
avant de faire un export Excel par un simple clic sur un bouton.
Dans les formulaires, ils peuvent entrer un nombre aléatoire de champs (en gros un certain nombre peut être vide!).
 
Je cherche une solution pour éviter de faire une big requête pour l'export Excel.
En effet, je ne veux pas avoir qqchose du genre :

Code :
  1. SELECT [champ1], [champ2] FROM matable
  2. WHERE [champ1]=Forms!form1!toto OR [champ1]=Forms!form1!tata OR [champ1]=Forms!form1!titi ...


Cela me ferait une requête à rallonge, sachant que je dois de plus vérifier si les champs ont été renseignés ou non (IsNull).
 
Je me demande donc s'il est possible de faire une requête pour chacun de mes champs

Code :
  1. SELECT [champ1], [champ2] FROM matable
  2. WHERE [champ1]=Forms!form1!toto


Code :
  1. SELECT [champ1], [champ2] FROM matable
  2. WHERE [champ1]=Forms!form1!tata


Code :
  1. SELECT [champ1], [champ2] FROM matable
  2. WHERE [champ1]=Forms!form1!titi


Code :
  1. SELECT [champ1], [champ2] FROM matable
  2. WHERE ...


MAIS les résultats de chacune de mes requêtes doivent alors être exportés sur LA MEME feuille Excel!!
 
Je parviens à créer plusieurs feuilles sur un même fichier Excel, mais est-il possible d'ajouter chaque résultat sur la même feuille, et donc à la suite des résultats déjà présents ???
 
Sinon, je pense que je devrais passer par une table temporaires dans laquelle j'insère caque de mes enregistrements issus des requêtes précédentes, puis j'exporte tout simplement cette table temporaire dans un fichier Excel (et donc tout sera dans la même feuille!).
 
Vous auriez des conseils SVP??
Merci.

Reply

Marsh Posté le 16-06-2005 à 15:29:28   

Reply

Marsh Posté le 16-06-2005 à 16:30:09    

pas compris la question

Reply

Marsh Posté le 16-06-2005 à 17:06:55    

Actuellement je parviens à exporter le résultat d'une requête dans une feuille Excel.
OK, mais je souhaite exporter le résultat de plusieurs requêtes.
Le problème est que je ne parviens pas à mettre tout ces résultats sur la même feuille Excel (les uns à la suite des autres).
 
Par exemple, en lançant l'export de ma requête 1 j'aurais dans ma feuille Excel :

Code :
  1. 23 | TOTO


Puis l'export de ma requête 2 donnerait toujours dans ce même fichier :

Code :
  1. 23 | TOTO
  2. 54 | TATA
  3. 84 | TITI


(2 enregistrements ont été ajoutés à la suite)


Message édité par ndmax le 16-06-2005 à 17:07:25
Reply

Marsh Posté le 22-06-2005 à 10:52:48    

tu peux peut etre construire un fichier csv dans ton code vba a partir de toutes ces requetes

Reply

Marsh Posté le 22-06-2005 à 19:39:00    

Merci pour la réponse!
 
En fait là je suis passé par une table temporaire dans laquelle
j'insère le résultat de mes requête, puis en "une passe" j'exporte
cette table temporaire en fichier Excel.

Reply

Marsh Posté le 29-06-2005 à 09:28:48    

C'est effectivement une solution.
 
tu pouvais aussi :
- Faire une requête tout en un (chose que tu ne voulais pas)
- Faire une requête UNION de toutes tes requêtes
- avec VBA : Ouvrir Excel et remplir la feuille (pratique pour faire des mises en formes, mais TRES lent)
- avec VBA : générer le code SQL de ta requête (très pratique)
- ...
 
Sinon c'est vrai que les imports/exports d'Access sont pas top !


Message édité par #SubZero le 29-06-2005 à 09:30:55
Reply

Marsh Posté le 29-06-2005 à 10:03:34    

Merci pour la réponse.
 
Effectivement, c'est pas top.. Mais j'utilise VBA pour faire mes requêtes, insérer les résultats dans la table temporaire, puis exporter celle-ci sous Excel!   ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed