1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies. En savoir plus.
  2. Bonjour tout le monde ! Veillez consulter la Politique de forum pour comprendre nos règles, Merci a vous !
    Rejeter la notice

WD Récupérer le résultat d'une requête sql non WDR dans un xls

Discussion dans 'Windev' créé par Gaiiak, Nov 8, 2018.

  1. Gaiiak

    Gaiiak Member
    MEMBRE WX

    Inscrit:
    Jan 22, 2018
    Messages:
    15
    J'aime reçus:
    35
    Bonjour,

    Si vous pouviez m'aider , serait super !
    voila, j'aimerai pouvoir lancer des requêtes directement et récupérer le résultat directement dans un fichier Excel. Comme les requêtes sont hors éditeur , passer par une table ne semble pas possible ( après c'est trop lent aussi :) )

    Bref , avant cela, j'ai déjà un soucis pour remonter le résultat de ma requête.
    j'arrive bien à ressortir les rubriques, j'arrive bien à récupérer les lignes de ma requête mais .. seulement si pour chaque champ la rubrique est indiquée.

    en gros je passe par

    HLitPremier(Client, Nom)
    TANTQUE HEnDehors() = Faux
    // Traitement de l'enregistrement
    HLitSuivant(Client, Nom)
    FIN

    avec
    HLitSuivant([<Nom du fichier> [, <Nom de la rubrique de parcours>]

    ce que j'aimerai si possible , c'est avoir le nom de la rubrique automatique
    en gros faire un sélect * from ma BDD et voir s'afficher le résultat pour chaque rubrique sans avoir à les préciser une à une ..

    Bref, je ne vois pas comment construire la boucle pour arriver au résultat.. surement simple mais bon , comme toute chose devant son nez , on ne le voit pas forcément LOL

    Grands mercis par avance, perso je continue mes recherches !
     
    Tags:
  2. kabeda

    kabeda Active Member

    Inscrit:
    Avr 23, 2018
    Messages:
    173
    J'aime reçus:
    63
    Bonjour,

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    est ce que tu as vu avec la fonction HListeRubrique?
    Après, comme je ne comprends pas très bien ta demande, je ne sais pas si c'est vraiment ce que tu veux.
     
  3. Gaiiak

    Gaiiak Member
    MEMBRE WX

    Inscrit:
    Jan 22, 2018
    Messages:
    15
    J'aime reçus:
    35
    Bonjour,

    Déja grand merci d'avoir pris un peu de temps sur mon cas.
    Après un peu de café j'ai retrouvé mon nez sur ma figure :) .

    Voici le code pour passer directement le résultat une requête dans un fichier xls sans passer par une table, un état ou autre.
    (Attention le code est vulgarisé pour sa compréhension. il reste à l'adapter à vos besoins.)
    Code (Windev):
    // Déclarations pour partie  BDD
    sdMaBDD est une Source de Données
    sListeRub est une chaine
    sContenuEnreg est une chaine
    sReq est une chaine = "Select * from MaTable where MesConditions"

    // Déclarations pour partie Excel
    xlsExport est un xlsDocument

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (xlsExport,"Feuille 1")

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (xlsExport,1)
    sCheminFichierExcel est une chaine  = "c:\test\Resultat.xls"

    // Execution de la requête

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ("Récupération des données en cours"+ RC +"Merci de patienter.....",toastCourt,cvMilieu,chCentre)

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (sdMaBDD, hRequÍteDÈfaut, sReq)

    // Liste des rubriques de la requête.
    sListeRub =

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (sdMaBDD) // Liste simple

    // Ajout de la liste des rubriques dans le fichier Excel
    POUR TOUTE CHAINE sRub,nPos,nColonne DE sListeRub SEPAREE PAR RC
        xlsExport[1,nColonne] = sRub
    FIN

    // Parcours du reste de la requête
    nLigne est un entier = 2
    POUR TOUT sdMaBDD
        sContenuEnreg = ""
        // Pour chaque enregistrement, il faut parcourir les rubriques
        POUR TOUTE CHAINE sUneRubrique ,nPos, nColonne DE sListeRub SEPAREE PAR RC
            sContenuEnreg = " " + {"sdMaBDD." + sUneRubrique, indRubrique}
            xlsExport[nLigne,nColonne] = sContenuEnreg
        FIN
    nLigne ++
    FIN

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (xlsExport,sCheminFichierExcel)

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (sdMaBDD)

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ("Export terminé",toastCourt,cvMilieu,chCentre)
     
    suenodesign apprécie ceci.

Partager cette page

Chargement...