Requête Access VBA sur zdl sélection étendue
Résolu
SandrillonC
Messages postés
22
Date d'inscription
Statut
Membre
Dernière intervention
-
SandrillonC Messages postés 22 Date d'inscription Statut Membre Dernière intervention -
SandrillonC Messages postés 22 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
Je réalise actuellement une base de données sous Access 2007.
Je cherche à faire une requête (requête créee sans VBA) qui s'exécute sur la base d'un formulaire dans lequel on retrouve une zdl (Liste10) qui regroupe les critères (villes) de ma requête sélection.
J'ai donc écrit le code suivant :
Function Extraction_fichiers_communes_Extraction_fichier_commune()
On Error GoTo Extraction_fichiers_communes_Extraction_fichier_commune_Err
Dim ligne As Integer
Dim valeur As Variant
Dim colonne As Integer
DoCmd.SetWarnings False
' Colonne de la zone de liste dans laquelle se situe l'informationcolonne = 0
' Parcours de la zone de liste
For ligne = 0 To Forms("MON FORMULAIRE").Liste10.ListCount - 1
If Forms("MON FORMULAIRE").Liste10.Selected(ligne) Then
' Si la ligne est sélectionnée, on stocke sa valeur dans la variable "valeur"
valeur = Forms("MON FORMULAIRE").Liste10.Column(colonne, ligne)
' Transfert de ma requête vers un fichier Excel
DoCmd.TransferSpreadsheet acExport, 10, "MA REQUETE", "MON CHEMIN, True, ""
End if
Next ligne
MsgBox "fin"
Cela fonctionne pour le mieux lorsque ma zdl a pour propriété (Sélection multiple) : AUCUN
Cependant, lorsque je souhaite la passer en (Sélection multiple) : ETENDU
Cela ne marche plus. J'ai une exportation avec 5 fichiers Excel vierges si j'ai sélectionner 5 valeurs dans ma zdl.
J'ai donc inséré une MsgBox me renvoyant ma variable valeur à chaque itération : elle m'affiche bien le résultat escompté, à savoir le nom de la ville sélectionné à chaque itération.
La boucle semble donc bien fonctionner. Le problème vient-il de mon transfert de requête ? Dois-je exécuter la requête en vba avant ?
Si oui, pouvez-vous m'orienter sur le code à formaliser pour lancer une requête SQL dans un module VBA ?
Par avance merci
SandrillonC
Je réalise actuellement une base de données sous Access 2007.
Je cherche à faire une requête (requête créee sans VBA) qui s'exécute sur la base d'un formulaire dans lequel on retrouve une zdl (Liste10) qui regroupe les critères (villes) de ma requête sélection.
J'ai donc écrit le code suivant :
Function Extraction_fichiers_communes_Extraction_fichier_commune()
On Error GoTo Extraction_fichiers_communes_Extraction_fichier_commune_Err
Dim ligne As Integer
Dim valeur As Variant
Dim colonne As Integer
DoCmd.SetWarnings False
' Colonne de la zone de liste dans laquelle se situe l'informationcolonne = 0
' Parcours de la zone de liste
For ligne = 0 To Forms("MON FORMULAIRE").Liste10.ListCount - 1
If Forms("MON FORMULAIRE").Liste10.Selected(ligne) Then
' Si la ligne est sélectionnée, on stocke sa valeur dans la variable "valeur"
valeur = Forms("MON FORMULAIRE").Liste10.Column(colonne, ligne)
' Transfert de ma requête vers un fichier Excel
DoCmd.TransferSpreadsheet acExport, 10, "MA REQUETE", "MON CHEMIN, True, ""
End if
Next ligne
MsgBox "fin"
Cela fonctionne pour le mieux lorsque ma zdl a pour propriété (Sélection multiple) : AUCUN
Cependant, lorsque je souhaite la passer en (Sélection multiple) : ETENDU
Cela ne marche plus. J'ai une exportation avec 5 fichiers Excel vierges si j'ai sélectionner 5 valeurs dans ma zdl.
J'ai donc inséré une MsgBox me renvoyant ma variable valeur à chaque itération : elle m'affiche bien le résultat escompté, à savoir le nom de la ville sélectionné à chaque itération.
La boucle semble donc bien fonctionner. Le problème vient-il de mon transfert de requête ? Dois-je exécuter la requête en vba avant ?
Si oui, pouvez-vous m'orienter sur le code à formaliser pour lancer une requête SQL dans un module VBA ?
Par avance merci
SandrillonC
A voir également:
- Requête Access VBA sur zdl sélection étendue
- Table ascii etendue - Guide
- Incompatibilité de type vba ✓ - Forum Programmation
- Acer quick access - Forum logiciel systeme
- Quick Access service ✓ - Forum PC portable
- Désinstaller ACER QUICK ACCESS - Forum Logiciels
2 réponses
Salut,
juste comme ça, la requête qui est exécutée est toujours la même (aucun paramétrage), est-ce normal ?
juste comme ça, la requête qui est exécutée est toujours la même (aucun paramétrage), est-ce normal ?
Bonjour,
Ma requete est en fait créee directement via ACCESS. C'est une requête de sélection qui dépend du paramètre "ville" de ma zdl (liste 10).
Je ne sais pas bien si ma requete s'exécute à chaque itération via le transfertspreadsheet.
Ce que je ne comprends pas, c'est que même si elle ne s'exécutait qu'une seule fois, le fait que ma zdl ait une propriété de selection étendue me donne bien autant de fichiers excel que de sélections mais ils sont tous vierges. Dans ce cas, pourquoi le premier fichier ne serait-il pas rempli ? Car le meme code VBA avec une propriété de ma zdl en AUCUN concernant la sélection multiple, fonctionne parfaitement.
Et étant donné que j'ai 1500 extractions à faire, je ne voudrais pas cliquer à la main sur chaque ville pour extraire mes fichiers.
Cordialement
Ma requete est en fait créee directement via ACCESS. C'est une requête de sélection qui dépend du paramètre "ville" de ma zdl (liste 10).
Je ne sais pas bien si ma requete s'exécute à chaque itération via le transfertspreadsheet.
Ce que je ne comprends pas, c'est que même si elle ne s'exécutait qu'une seule fois, le fait que ma zdl ait une propriété de selection étendue me donne bien autant de fichiers excel que de sélections mais ils sont tous vierges. Dans ce cas, pourquoi le premier fichier ne serait-il pas rempli ? Car le meme code VBA avec une propriété de ma zdl en AUCUN concernant la sélection multiple, fonctionne parfaitement.
Et étant donné que j'ai 1500 extractions à faire, je ne voudrais pas cliquer à la main sur chaque ville pour extraire mes fichiers.
Cordialement
J'ai eu peur que tu me proposes de passer par les Recordset de la librairie ADO !
Comment puis-je créer une requête sous forme de chaîne ?
Ce que je ne comprends pas c'est qu'à chaque itération de ma boucle, j'arrive bien (via une msg box) à lire ma variable "valeur". Mais les requetes exportées sont vides
Comment puis-je créer une requête sous forme de chaîne ?
Ce que je ne comprends pas c'est qu'à chaque itération de ma boucle, j'arrive bien (via une msg box) à lire ma variable "valeur". Mais les requetes exportées sont vides