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

Macros et VBA Excel Discussion :

Extraction de bases Hyperfile - Table Alias [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 6
    Par défaut Extraction de bases Hyperfile - Table Alias
    Bonjour,

    J'ai développé une macro VBA Excel qui va lire les donnée de la base de donnée Hyperfile (Windev) à l'aide des pilote ODBC Hyper File 7.
    Je n'ai pas Windev mais j'ai réussi à installer les pilote sur mon ordinateur (WINDOWS 8.1 en 64bit - MS Office 2010 en 32 bit)

    Ma macro Excel que va chercher une table de la base de données et la recopie dans l'onglet "Test".
    Elle marche très bien pour la table "normale" mais pas pour les tables Alias

    Si quelqu'un a une solution?? il aura mon éternelle reconnaissance.


    Bonne journée


    Si dessous le code:

    Gestan : est le nom de la source de données utilisateur.
    Chemin3 : est le chemin du fichier *.wdd - "C:\PROGRAM FILES (X86)\GESTAN\Gestan.wdd"
    Chemin1: est le chemin de complet de la base - "C:\Users\.....\DATABASE"
    FACTURE : est le nom de la table.
    Ce code marche pour la table FACTURE mais pas pour la table AVOIR qui est aliasé.

    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
    With ActiveSheet.ListObjects.Add( _
    SourceType:=0, _
    Source:=Array("ODBC;DSN=Gestan;ANA=" + Chemin3 + ";REP= " + Chemin1 + ";Server Name=;Server Port=;Database=;UID=;PWDXX=;Encryption="), Destination:=Range("Test!$A$1")) _
    .QueryTable
    .CommandText = Array("SELECT * FROM ""FACTURE""~""" + Chemin3)
    .RowNumbers = False
    .FillAdjacentFormulas = False
    .PreserveFormatting = True
    .RefreshOnFileOpen = False
    .BackgroundQuery = True
    .RefreshStyle = xlInsertDeleteCells
    .SavePassword = False
    .SaveData = True
    .AdjustColumnWidth = True
    .RefreshPeriod = 0
    .PreserveColumnInfo = True
    .SourceConnectionFile = Chemin2 + "DATABASE FACTURE.odc"
    .ListObject.DisplayName = "Tableau_DATABASE_FACTURE"
    .Refresh BackgroundQuery:=False
    End With

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 6
    Par défaut
    Voici déjà 15 jours et malgré mes recherches je n'ai toujours pas de solution.
    Personne n'aurai une idée?

    Merci à AlainTech d'avoir mis mon code en page

  3. #3
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut

    Bonjour, bonjour,

    faudrait peut-être penser à poser la question sur un forum WinDev, non ?‼

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 6
    Par défaut
    J'AI TROUVE LA SOLUTION.

    Pour commencer, il faut utiliser le provider "PCSoft.HFSQL" avec une connexion OLEDB.

    Pour installer le provider: il faut télécharger l'OLEDB pour HFSQL "WX190PACKOLEDB040j.exe" ici http://www.pcsoft.fr/st/telec/module...9/wx19_40j.htm et l'installer,

    En suite le code VBA EXCEL:

    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
        With ActiveSheet.ListObjects.Add( _
        SourceType:=0, _
        Source:=Array("OLEDB;Provider=PCSoft.HFSQL;Initial Catalog=" + Chemin1 + ";User ID="""";Data Source="""";Extended Properties="""";Initial Cata" _
            , "log=" + Chemin1), Destination:=Range("Test!$A$1")) _
            .QueryTable
            .CommandType = xlCmdTable
            .CommandText = Array("""AVOIR""")
            .RowNumbers = False
            .FillAdjacentFormulas = False
            .PreserveFormatting = True
            .RefreshOnFileOpen = False
            .BackgroundQuery = True
            .RefreshStyle = xlInsertDeleteCells
            .SavePassword = False
            .SaveData = True
            .AdjustColumnWidth = True
            .RefreshPeriod = 0
            .PreserveColumnInfo = True
            .SourceConnectionFile = Chemin2 + "DATABASE AVOIR.odc"
            .ListObject.DisplayName = "Tableau_DATABASE_AVOIR"
            .Refresh BackgroundQuery:=False
        End With
    avec Chemin1 le chemin de complet de la base - "C:\Users\.....\DATABASE"

    Je ne pense pas que cela soit académique.... mais ça marche y compris avec les tables ALIAS.

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

Discussions similaires

  1. Lecture table en PHP sur une Base HyperFile
    Par maxwell374 dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 11/02/2016, 14h32
  2. [HF19] Extraction de bases Hyperfile - Table Alias
    Par domps dans le forum HyperFileSQL
    Réponses: 2
    Dernier message: 10/03/2014, 14h20
  3. [WD16] Créer les tables de l'analyse dans la base HyperFile
    Par ninjajaune dans le forum WinDev
    Réponses: 1
    Dernier message: 11/03/2011, 09h39
  4. parcourir les tables d'une base HyperFile
    Par foulla dans le forum HyperFileSQL
    Réponses: 8
    Dernier message: 17/05/2008, 16h30
  5. [Tables] Comparer 2 bases / 2 tables
    Par macben dans le forum Oracle
    Réponses: 3
    Dernier message: 13/01/2005, 11h42

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