IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

Exporter seulement certains champs d'une requête vers Excel


Sujet :

VBA Access

  1. #1
    Membre du Club
    Femme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 88
    Points : 60
    Points
    60
    Par défaut Exporter seulement certains champs d'une requête vers Excel
    Bonjour,

    J'ai de nouveau besoin de l'aide du forum...
    Je souhaite, par un bouton sur un formulaire, exporter le résultat d'une requête vers Excel.
    J'ai don le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Private Sub BEditCompany_Click()
     
    On Error GoTo Err_BEditCompany_Click
     
    MyDate = Date
    FormatDate = Format(MyDate, "yyyy-mm-dd")
     
        DoCmd.OutputTo acOutputQuery, "R_COMPANY_FOLLOWUP_SEARCH", acFormatXLS, "Follow-up information - " & FormatDate & ".xls", True
     
    Exit_BEditCompany_Click:
        Exit Sub
     
    Err_BEditCompany_Click:
        MsgBox Err.Description
        Resume Exit_BEditCompany_Click
     
    End Sub
    Mon problème est que je souhaite exporter seulement certains champs de la requête, mais pas tous.
    Comment dois-je m'y prendre ?

    D'avance merci !

    MelaAllIn

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    175
    Détails du profil
    Informations personnelles :
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 175
    Points : 129
    Points
    129
    Par défaut
    Bonjour !
    Comment désignes-tu les champs que tu souhaites exporter ? Ce sont toujours les mêmes ?

    Selon l'utilisation, est-ce que c'est vraiment utile ? Il est simple de supprimer une colonne dans le fichier Excel.

  3. #3
    Membre du Club
    Femme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 88
    Points : 60
    Points
    60
    Par défaut
    Merci pour ta réponse, dut-dut !
    Oui, effectivement, ce sera toujours les mêmes champs qui seront exportés (Country, CompanyCity, CompanyName, etc.)

  4. #4
    Membre du Club
    Femme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 88
    Points : 60
    Points
    60
    Par défaut
    C'est bon, j'ai trouvé !
    Il suffisait juste, dans la requête, de décocher la case "Afficher" !
    Des fois, je cherche la complication...
    En tout cas, merci pour le coup de main !

  5. #5
    Membre du Club
    Femme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 88
    Points : 60
    Points
    60
    Par défaut
    Bonjour à tous,

    Finalement, je relance ce fil, car ma solution ne s'adapte pas à mon cas : lorsque je décoche la case "Afficher" dans ma requête, je perds des données dans mes formulaires et sous-formulaires associés...

    J'aurais donc besoin d'un coup de main pour savoir comment faire pour exporter uniquement certains champs (toujours les mêmes) d'une requête ACCESS vers EXCEL, sachant que le code associé au bouton d'export est le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Private Sub BEditCompany_Click()
     
    On Error GoTo Err_BEditCompany_Click
     
    MyDate = Date
    FormatDate = Format(MyDate, "yyyy-mm-dd")
     
        DoCmd.OutputTo acOutputQuery, "R_COMPANY_FOLLOWUP_SEARCH", acFormatXLS, "Follow-up information - " & FormatDate & ".xls", True
     
    Exit_BEditCompany_Click:
        Exit Sub
     
    Err_BEditCompany_Click:
        MsgBox Err.Description
        Resume Exit_BEditCompany_Click
     
    End Sub
    En vous remerciant part avance pour votre aide.

    MelaAllIn

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Créer une autre requête basée sur la première avec uniquement les champs souhaités, comme cela tu ne touches pas à la requête originale.

    Et c'est cette deuxième requête que tu exportes.

    Philippe

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 12
    Points : 11
    Points
    11
    Par défaut
    Bonjour,

    Pourquoi ne pas faire simplement deux requêtes :
    - La requête qui sert de base aux données du formulaire.
    - La requête pour l'exportation.

    Ces deux fonctions étant différentes, ça ne me choque pas d'avoir deux requêtes pour cela.

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    175
    Détails du profil
    Informations personnelles :
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 175
    Points : 129
    Points
    129
    Par défaut
    Pour illustrer les propos des deux derniers posts :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    Private Sub BEditCompany_Click()
    On Error GoTo Err_BEditCompany_Click
     
    dim sourceSQL as String
    MyDate = Date
    FormatDate = Format(MyDate, "yyyy-mm-dd")
     
     
        'on stocke dans sourceSQL le code SQL de la requête à exporter
        sourceSQL = "SELECT Country, CompanyCity, CompanyName, etc... "	'liste des champs (puisque c'est toujours les mêmes)
        sourceSQL = sourceSQL & Mid(CurrentDb.QueryDefs("R_COMPANY_FOLLOWUP_SEARCH").SQl, InStr(1, CurrentDb.QueryDefs("R_COMPANY_FOLLOWUP_SEARCH").SQl, "FROM"))	'clause FROM et tout ce qu'il peut y avoir derrière (facultatif : si les critères ne changent jamais, autant tout mettre dans la ligne précédente)
     
        Delete_Query "export"					'on efface la requête d'export si elle existe déjà (utilise la fonction juste en dessous)
        CurrentDb.CreateQueryDef "export", sourceSQL     		'création d'une requête pour l'export de données
        Application.SetHiddenAttribute acQuery, "export", True	'on lui attribue la propriété "masqué" pour ceux que ça contrarie de voir une ligne supplémentaire dans leur liste de requêtes
     
        DoCmd.OutputTo acOutputQuery, "export", acFormatXLS, "Follow-up information - " & FormatDate & ".xls", True	'export de la requête
     
    Exit_BEditCompany_Click:
        Exit Sub
     
    Err_BEditCompany_Click:
        MsgBox Err.Description
        Resume Exit_BEditCompany_Click
     
    End Sub
     
    Public Function Delete_Query(Qname As String)
        On Error Resume Next
        CurrentDb.QueryDefs.Delete Qname
    End Function

  9. #9
    Membre du Club
    Femme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 88
    Points : 60
    Points
    60
    Par défaut
    Merci à vous 3 pour vos réponses.
    Je vais étudier tout cela et je reviens vers vous.
    A bientôt.
    MelaAllIn

Discussions similaires

  1. copier certains champs d une requete vers une table vierge
    Par sunwind dans le forum VBA Access
    Réponses: 1
    Dernier message: 16/11/2007, 10h26
  2. copier certains champs d une requete vers une table vierge
    Par sunwind dans le forum VBA Access
    Réponses: 1
    Dernier message: 15/11/2007, 00h09
  3. copier certains champs d une requete vers une table vierge
    Par sunwind dans le forum VBA Access
    Réponses: 1
    Dernier message: 14/11/2007, 21h24
  4. Réponses: 4
    Dernier message: 06/03/2007, 12h00
  5. [Excel] Exportation d'une requête vers Excel via PHP
    Par Foudébois dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 17/05/2006, 16h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo