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

Requêtes et SQL. Discussion :

Exporter requete et sous requete sur excel


Sujet :

Requêtes et SQL.

  1. #1
    Membre chevronné Avatar de Renardo
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 648
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 648
    Points : 2 019
    Points
    2 019
    Par défaut Exporter requete et sous requete sur excel
    Bonjour a tous
    J'aimerais savoir si il est possible d'exporter une requete avec une sous requete sur excel.
    Actuellement la requete est exporte mais pas ma sous requete
    Merci d'avance pour vos Info

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 598
    Points
    24 598
    Par défaut
    Bonjour,

    Que ce soit un requete ou une sous requete il s'agit toujours de requete, utilise la même méthode pour les 2 mais l'une après l'autre.

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  3. #3
    Membre chevronné Avatar de Renardo
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 648
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 648
    Points : 2 019
    Points
    2 019
    Par défaut
    Merci pour ta reponse mais elle ne m'arrange pas vraiment
    je pensais pouvoir utiliser ma requete (sans doublon) pour creer mes onglets
    et ma sous requete pour ranger mes donnees dans chaque onglets correspondant.
    J'ai essayer d'autre astuce, mais je bloque au niveau de la selection des onglets
    Mais onglet porte un N°Serie et je voudrais que chaque Enregistrement qui porte le meme N°Serie se range sur la feuille correspondante
    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
    Private Sub Commande0_Click()
    Dim db As DAO.Database
    Dim rst As DAO.Recordset
    Dim AppliExcel As Excel.Application
    Dim FichierExcel As Excel.Workbook
    Set db = CurrentDb
    Set rst = db.OpenRecordset("Excel", dbOpenSnapshot)
    Set AppliExcel = CreateObject("Excel.Application")
    AppliExcel.Visible = True
    Set FichierExcel = AppliExcel.Workbooks.Open("c:\Sauvegarde\control1.xls")
     AppliExcel.Sheets(rst.Fields(7)).Select
    col = 1
    Row = 1
     While Not rst.EOF
     
     col = col + 1
    AppliExcel.Cells(5, col) = rst.Fields(1)
    Row = Row + 1
    AppliExcel.Cells(6, col) = rst.Fields(2)
    Row = Row + 1
    AppliExcel.Cells(7, col) = rst.Fields(3)
    Row = Row + 1
    AppliExcel.Cells(8, col) = rst.Fields(4)
    Row = Row + 1
    rst.MoveNext
    Wend
    End Sub
    le probleme vient de la ligne qui selectione l'onglet
    AppliExcel.Sheets(rst.Fields(7)).Select
    Erreur incompatibilite de type
    merci pour toute l'aide que vous pourrez m'aporter

  4. #4
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 598
    Points
    24 598
    Par défaut
    Bonjour

    Sheets est un objet de FichierExcel et non de AppliExcel.

    Le paramètre attendu pour sheets est du texte donc faire ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FichierExcel.Sheets(CStr(rst.Fields(0))).Select

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  5. #5
    Membre chevronné Avatar de Renardo
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 648
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 648
    Points : 2 019
    Points
    2 019
    Par défaut
    Merci pour ton aide sa fonctione
    mais j'ai un autre petit souci comme tu peux le voir dans le code j'ajoute une colonne apres chaque enregistrement se qui fait que
    Exemple
    sur la page 1 je vais avoir la colonne 1 et 2 de remplis
    et sur la page 2 les enregistrements vont commencer a la colonne 3
    voix tu une solution pour que sur la page 2 les enregistrements commence a la colonne 1
    Merci encore

  6. #6
    Membre éclairé Avatar de ft035580
    Profil pro
    Inscrit en
    Août 2004
    Messages
    689
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 689
    Points : 799
    Points
    799
    Par défaut
    Salut,

    Citation Envoyé par Renardo
    voix tu une solution pour que sur la page 2 les enregistrements commence a la colonne 1
    et si tu mettais:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    ...
    AppliExcel.Cells(8, col) = rst.Fields(4)
    Row = Row + 1
    rst.MoveNext
    Col=1
    Wend

  7. #7
    Membre chevronné Avatar de Renardo
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 648
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 648
    Points : 2 019
    Points
    2 019
    Par défaut
    Resolu
    Merci a vous pour votre aide et bon week end

  8. #8
    Membre chevronné Avatar de Renardo
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 648
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 648
    Points : 2 019
    Points
    2 019
    Par défaut Suite export requete sur excel
    Bonjour a tous
    Desole je pensais que FTO35580 avait resolu mon probleme mais non
    Code FTO35580
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ...
    AppliExcel.Cells(8, col) = rst.Fields(4)
    Row = Row + 1
    rst.MoveNext
    Col=1
    Wend
    cela me copie bien les donnees sur la premiere colonne de chaque feuilles mais si j'ai plusieur donnees pour une feuille il me les copie aussi sur la premiere colonne

    Je joint mon ancien post

    comme vous pouvez le voir dans le code j'ajoute une colonne apres chaque enregistrement se qui fait que
    Exemple
    sur la page 1 je vais avoir la colonne 1 et 2 de remplis
    et sur la page 2 les enregistrements vont commencer a la colonne 3
    je cherche une solution pour que sur la page 2 les enregistrements commence a la colonne 1

    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
    Private Sub Commande1_Click()
     
    Dim db As DAO.Database
    Dim rst As DAO.Recordset
    Dim AppliExcel As Excel.Application
    Dim FichierExcel As Excel.Workbook
    Set db = CurrentDb
    Set rst = db.OpenRecordset("Excel", dbOpenSnapshot)
    Set AppliExcel = CreateObject("Excel.Application")
    AppliExcel.Visible = True
    Set FichierExcel = AppliExcel.Workbooks.Open("c:\Sauvegarde\control1.xls")
     
    col = 1
    Row = 1
     While Not rst.EOF
     FichierExcel.Sheets(CStr(rst.Fields(7))).Select
     col = col + 1
    AppliExcel.Cells(5, col) = rst.Fields(1)
    Row = Row + 1
    AppliExcel.Cells(6, col) = rst.Fields(2)
    Row = Row + 1
    AppliExcel.Cells(7, col) = rst.Fields(3)
    Row = Row + 1
    AppliExcel.Cells(8, col) = rst.Fields(4)
    Row = Row + 1
    rst.MoveNext
    Wend
    End Sub
    merci d'avance pour votre aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Sous requete de sous requete..(trop long)
    Par Thesum dans le forum Langage SQL
    Réponses: 3
    Dernier message: 09/10/2008, 10h12
  2. Réponses: 3
    Dernier message: 27/07/2007, 15h21
  3. Optimisation requete avec sous-requetes multiples
    Par gege.boubou dans le forum Requêtes
    Réponses: 3
    Dernier message: 08/09/2005, 10h42
  4. probleme avec requete et sous-requete...
    Par birkoss dans le forum Langage SQL
    Réponses: 5
    Dernier message: 17/08/2005, 21h26
  5. probleme de requete (de sous requetes ?)
    Par menoce dans le forum Requêtes
    Réponses: 6
    Dernier message: 08/07/2005, 15h23

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