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

IHM Discussion :

Export d'un sous-formulaire qu'une seule fois


Sujet :

IHM

  1. #1
    Membre à l'essai
    Inscrit en
    Octobre 2010
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 31
    Points : 11
    Points
    11
    Par défaut Export d'un sous-formulaire qu'une seule fois
    Bonjour.
    Je souhaite exporter le recordset d'un sous-formulaire access vers une feuille excel.
    L'export fonctionne correctement, mais qu'une seule fois
    Lorsque je lance une 2e cet export, le sous-formulaire n'est plus exporté, que du vide.

    Voilà mon code pour l'exportation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    appexcel.Cells(58, 2).CopyFromRecordset rec
    J'ai tenté d'ajouter ceci à la fin :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    rec.Close
        Set rec = Nothing
        Set wbexcel = Nothing
        Set appexcel = Nothing
    Sans succès
    Que faut-il faire pour pouvoir réitérer l'exportation autant de fois que l'on veut?


    Merci.

  2. #2
    Membre à l'essai
    Inscrit en
    Octobre 2010
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 31
    Points : 11
    Points
    11
    Par défaut
    J'ai rajouté " rec.MoveFirst " avant de fermer mes objets. J'arrive maintenant à exporter mon sous-formulaire 1 fois sur 2, ce qui est assez étrange.
    Lorsque je change les enregistrements apparaissant dans le sous-formulaire et que je lance l'export : ca n'exporte rien. Je relance une 2e fois: ça exporte!
    Quelqu'un sait pourquoi?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
        'Exportation du recordset ss formulaire
     
        appexcel.Cells(58, 2).CopyFromRecordset rec
     
        rec.MoveFirst
     
        ' Ferme les objets
        rec.Close
        Set rec = Nothing
            ' Release Excel references
        Set wbexcel = Nothing
     
        Set appexcel = Nothing

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

    Il faudrait plus de code, car tu ne mets que l'export (CopyFromRecordset), mais comment remplis-tu ton recordset ? Celui-ci est peut-être vide un export sur deux, il faut donc plus d'informations.

    Philippe

  4. #4
    Membre à l'essai
    Inscrit en
    Octobre 2010
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 31
    Points : 11
    Points
    11
    Par défaut
    Au début je fais comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set rec = Forms.formulaire.sous-formulaire.Form.RecordsetClone
    Je remplis mon recordset avec tout le sous-formulaire, car je souhaite tout exporter.

    Voilà le code entier si ça peut aider :
    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
    Function exportexcelvb()
     
    Dim appexcel As Excel.Application
    Dim wbexcel As Excel.Workbook
    Dim rec As DAO.Recordset
    Set rec = Forms.formulaire.sous-formulaire.Form.RecordsetClone
     
    Set appexcel = CreateObject("Excel.Application")
    appexcel.Visible = True
    Set wbexcel = appexcel.Workbooks.Open(CurrentProject.Path & "\classeur01.xls")
     
    appexcel.Sheets("Feuille1").Select
     
        'Exportation du recordset ss formulaire 
        appexcel.Cells(58, 2).CopyFromRecordset rec
     
        rec.MoveFirst
        ' Ferme les objets ADO
        rec.Close
        Set rec = Nothing
     
        Set wbexcel = Nothing
        Set appexcel = Nothing
     
    End Function

  5. #5
    Membre à l'essai
    Inscrit en
    Octobre 2010
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 31
    Points : 11
    Points
    11
    Par défaut
    Personne ne voit ?

  6. #6
    Membre à l'essai
    Inscrit en
    Octobre 2010
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 31
    Points : 11
    Points
    11
    Par défaut
    Bon ben merci quand même

Discussions similaires

  1. Parcourir les sous dossiers en une seule fois
    Par callofduty dans le forum MATLAB
    Réponses: 19
    Dernier message: 18/01/2014, 19h44
  2. [AC-2003] Exporter plusieurs tables en txt en une seule fois
    Par anto520 dans le forum VBA Access
    Réponses: 2
    Dernier message: 31/05/2013, 08h12
  3. [AC-2003] Regrouper deux lignes de sous formulaire en une seule
    Par lil404 dans le forum Requêtes et SQL.
    Réponses: 11
    Dernier message: 24/04/2009, 16h36
  4. Sous-formulaire avec 1 seul enregistrement
    Par Farbin dans le forum Access
    Réponses: 6
    Dernier message: 08/08/2006, 16h37
  5. [sous formulaire] acceder à une valeur
    Par debdev dans le forum Access
    Réponses: 2
    Dernier message: 28/10/2005, 09h59

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